Dies ist ein GGBScript JavaScript interpreter für LiaScript. Es handelt sich um eine experimentelle Version, die noch nicht vollständig ist und mithilfe von ChatGPT entwickelt wurde.
Um die Funktionalität in ein LiaScript-Dokument einzubinden, fügen Sie den folgenden Code ein:
import: https://raw.githubusercontent.com/LiaTemplates/GGBScript/refs/heads/main/README.md
Das folgende Beispiel zeigt wie dies funktioniert:
Schauen Sie sich das Dokument im LiaScript modus an:
Durch Doppelklick auf die Grafik können Sie den Code bearbeiten und die Änderungen werden sofort angezeigt.
Titel("Punkt A & B");
// Definiere einen Punkt
const A = Punkt(1, 2, "A");
const B = Punkt([4, 6], "B");-
Gerade( Punkt, Punkt )Erzeugt eine Gerade durch zwei Punkte.
Titel("Gerade g"); // Definiere Punkte const A = Punkt(1, 2, "A"); const B = Punkt(4, 6, "B"); // Erzeuge eine Gerade const g = Gerade(A, B, "g");
-
Gerade( Punkt, Gerade )Erzeugt eine Gerade durch einen Punkt und eine Gerade.
Titel("Gerade g1 & g2"); // Definiere Punkte const A = Punkt(1, 2, "A"); const B = Punkt(4, 6, "B"); const C = Punkt(0, 5, "C"); // Erzeuge zwei Geraden const g1 = Gerade(A, B, "g1"); const g2 = Gerade(C, g1, "g2");
-
Strecke( Punkt, Punkt )Erzeugt eine Strecke zwischen zwei Punkten.
Titel("Strecke S"); // Definiere Punkte const A = Punkt(1, 2, "A"); const B = Punkt(4, 6, "B"); // Erzeuge eine Strecke const S = Strecke(A, B, "S");
-
Strecke( Punkt, Länge )Erzeugt eine Strecke mit einer bestimmten Länge.
Titel("Strecke s1 & s2 & s3"); // Definiere Punkte const A = Punkt(1, 2, "A"); const B = Punkt(4, 6, "B"); // Erzeuge zwei Strecken const s1 = Strecke(A, 2, "s1"); const s2 = Strecke(B, 3, "s2"); const s3 = Strecke([1,1], 3, "s3");
Vektor( Punkt )
Titel("Vektor V1");
// Definiere einen Punkt
const A = Punkt(1, 2, "A");
// Erzeuge einen Vektor
const V1 = Vektor(A, "V1");
const V2 = Vektor([-1,2]);Vektor( Punkt, Punkt )
Titel("Vektor V");
// Definiere Punkte
const A = Punkt(1, 2, "A");
const B = Punkt(4, 6, "B");
// Erzeuge einen Vektor
const V = Vektor(A, B, "V");Titel("Vieleck V");
// Definiere Punkte
const A = Punkt(1, 2, "A");
const B = Punkt(4, 6, "B");
const C = Punkt(2, 5, "C");
// Erzeuge ein Vieleck
const V = Vieleck(A, B, C);Titel("Vieleck V2");
// Hier ist (1,1) der Mittelpunkt und (4,1) ein Punkt auf dem Umfang;
// 6 gibt die Anzahl der Ecken an.
Vieleck([1, 1], [4, 1], 8);Vieleck([2,2], [5,2], 5, [0,1]);Diagramm(false)
const V = Vieleck([1, 1], [3, 0], [3, 2], [0, 4]);
Rotation(V, [1, 1], 45);Titel("Polygon P");
// Definiere Punkte
const A = Punkt(1, 2, "A");
const B = Punkt(4, 6, "B");
const C = Punkt(2, 5, "C");
// Erzeuge ein Polygon
const P = Polygon(A, B, C);- Kreis mit festem Radius
Kreis("Mittelpunkt", 5)
Titel("Kreis K")
UserAxisLimits(-2.5, 5, 0, 3)
// Definiere einen Punkt
const A = Punkt(1.5, 1.5, "A")
// Erzeuge einen Kreis
const K = Kreis(A, 1, "K")- Kreis mit Radius einer Strecke
Kreis("M", "Strecke1")
Titel("Kreis K2")
UserAxisLimits(-2.5, 5, 0, 3)
// Definiere Punkte
const A = Punkt(1, 1, "A")
const B = Punkt(3, 2, "B")
// Erzeuge eine Strecke
const S = Strecke(A, B, "Strecke1")
// Erzeuge einen Kreis
const K2 = Kreis(A, S, "K2")- Kreis mit Radius aus Abstand zweier Punkte
Kreis("M", "P2")
Titel("Kreis K3")
UserAxisLimits(-2.5, 5, 0, 3)
// Definiere Punkte
const A = Punkt(1, 1, "A")
const B = Punkt(3, 2, "B")
// Erzeuge einen Kreis
const K3 = Kreis(A, B, "K3")- Kreis durch drei Punkte
Kreis("A", "B", "C")
Titel("Kreis K4")
UserAxisLimits(-2.5, 5, 0, 3)
// Definiere Punkte
const A = Punkt(1, 1, "A")
const B = Punkt(3, 2, "B")
const C = Punkt(2, 3, "C")
// Erzeuge einen Kreis
Kreis("A", "B", "C");- Kreis mit Richtung einer Geraden
Kreis("M", 5, "Gerade1")
Titel("Kreis K5")
UserAxisLimits(-2.5, 5, 0, 3)
// Definiere Punkte
const A = Punkt(1, 1, "A")
const B = Punkt(3, 2, "B")
// Erzeuge eine Gerade
const G = Gerade(A, B, "Gerade1")
// Erzeuge einen Kreis
Kreis("A", 1, "Gerade1");-
Kreis mit Richtung eines Vektors
Kreis("M", 5, "Vektor1")Titel("Kreis K6") UserAxisLimits(-2.5, 5, 0, 3) // Definiere Punkte const A = Punkt(1, 1, "A") const B = Punkt(3, 2, "B") // Erzeuge einen Vektor const V = Vektor(A, B, "Vektor1") // Erzeuge einen Kreis Kreis("A", 1, "Vektor1");
- Ellipse mit festem Radius
Ellipse("Mittelpunkt", 5, 3)
Titel("Ellipse E")
// UserAxisLimits(-2.5, 5, 0, 3)
// Definiert einen Mittelpunkt "M1"
Punkt(0, 0, "M1");
// Erzeugt eine Ellipse mit Mittelpunkt "M1", horizontaler Halbachse 5, vertikaler Halbachse 3 und Rotation 30°:
Ellipse("M1", 5, 3);Titel("Verschiebung");
// Definiere einen Punkt
const A = Punkt(1, 2, "A");
// Verschiebe den Punkt
const B = Verschiebung(A, 2, 3, "B");x = <script input="range" min="0" max="100" value="5" step="1" default="5" output="x">
@input
</script>
y = <script input="range" min="-100" max="100" value="5" step="1" default="5" output="y">
@input
</script>
Titel("Verschiebung 2");
// Definiere Punkte
const A = Punkt(1, 2, "A");
const B = Punkt(4, 6, "B");
const C = Punkt(2, 5, "C");
// Erzeuge ein Polygon
const P = Polygon(A, B, C);
// Verschiebe das Polygon
const P2 = Verschiebung(P, @input(`x`), @input(`y`), "P2");
Farbe(P2, "lightblue");// Definiere Punkte
let A = Punkt(1, 2, "A");
let B = Punkt(4, 6, "B");
let C = Punkt(2, 5, "C");
// Erzeuge eine Gerade
let g = Gerade(A, B, "g");
// Erzeuge eine Parallele
let p = Parallele(C, g, "p");A = (<script input="range" min="0" max="100" value="1" step="1" default="1" output="A0"> @input </script>,
<script input="range" min="-100" max="100" value="2" step="1" default="2" output="A1"> @input </script>)
// Definiere Punkte
let A = Punkt(@input(`A0`), @input(`A1`), "A");
let B = Punkt(1, 6, "B");
let C = Punkt(2, 5, "C");
// Erzeuge ein Polygon
const P = Polygon(A, B, C);
Mittelpunkt(A, B, C);// Definiere Punkte
let A = Punkt(1, 2, "A");
let B = Punkt(4, 6, "B");
let C = Punkt(2, 5, "C");
let D = Punkt(6, 3, "D");
Polygon(A, B, C);
let M = Mittelpunkt(A, B, C);
// Berechne den Abstand der Geraden
let d = Abstand(M, D);// Definiere Punkte
let A = Punkt(1, 2, "A");
let B = Punkt(4, 6, "B");
let C = Punkt(2, 5, "C");
let D = Punkt(6, 3, "D");
// Erzeuge zwei Geraden
let g1 = Line(A, B, "g1");
let g2 = Strecke(C, D, "g2");
// Berechne den Abstand der Geraden
let d = Abstand(g1, g2);// Definiere Punkte
let A = Punkt(1, 2, "A");
let B = Punkt(4, 6, "B");
let C = Punkt(2, 5, "C");
let D = Punkt(6, 3, "D");
// Erzeuge zwei Geraden
let g1 = Line(A, B, "g1");
let g2 = Strecke(C, D, "g2");
// Berechne den Schnittpunkt der Geraden
let S = Schnittpunkt(g1, g2);
Winkel(A, S, C);// Definiere Punkte
let A = Punkt(1, 2, "A");
let B = Punkt(4, 6, "B");
let C = Punkt(2, 5, "C");
Strecke(A, B, "s1");
Strecke(B, C, "s2");
// Erzeuge ein Polygon
let w = Winkel(A, B, C);// Definiere Punkte
let A = Punkt(1, 2, "A");
let B = Punkt(4, 6, "B");
let C = Punkt(2, 5, "C");
// Erzeuge ein Gerade
let G = Gerade(A, B, "G");
// Erzeuge ein Lot
let L = Lot(C, G, "L");// Definiere einen Punkt
let A = Punkt(1, 2, "A");
// Erzeuge einen Text
let T = Text([1,2.3], "Text");A = (<script input="range" min="0" max="100" value="50" step="1" default="50" output="A0"> @input </script>,
<script input="range" min="-100" max="100" value="50" step="1" default="50" output="A1"> @input </script>)
B = (<script input="range" min="0" max="100" value="96" step="1" default="96" output="B0"> @input </script>,
<script input="range" min="-100" max="100" value="27" step="1" default="27" output="B1"> @input </script>)
C = (<script input="range" min="0" max="100" value="20" step="1" default="20" output="C0"> @input </script>,
<script input="range" min="-100" max="100" value="20" step="1" default="20" output="C1"> @input </script>)
Rotation:
<script input="range" min="0" max="360" value="0" step="1" default="0" output="rotation"> @input </script>°UserAxisLimits(0,150,0,60);
const A = Punkt(@input(`A0`), @input(`A1`), "A");
const B = Punkt(@input(`B0`), @input(`B1`), "B");
const C = Punkt(@input(`C0`), @input(`C1`), "C");
const P = Polygon("A", "B", "C");
Farbe(P, "red");
const M = Mittelpunkt(P);
const P2 = Rotation(P, M, @input(`rotation`));
Farbe(P2, "blue");
Kreis(M, 16, "Kreis");// Erzeuge einen Vektor
let V = Vektor([1,2], [4,6], "V");