Zum Inhalt

Operatorindex

Infix-Operatoren

Die folgende Liste gibt einen Überblick über Spezialzeichen-Operatoren, sortiert nach Präzedenz. Die Präzedenz ist als Nummer angegeben. Je niedriger die Nummer, desto höher die Bindung. Operatoren mit gleicher Präzedenz werden von links nach rechts angewendet, d.h. Spezialzeichen-Operatoren sind linksassoziativ.

  • : (20) Zugriff auf selbstdefiniert
  • . (25) Zugriff auf vordefiniertes Datenfeld
  • ° (25) Gradoperator
  • _ (50) Zugriff auf Element in Liste
  • ^ (50) Potenzoperator
  • * (100) Multiplikation (auch von Vektoren und Matrizen)
  • / (100) Division (auch von Vektoren und Matrizen durch Skalare)
  • + (200) Addition (auch von Vektoren und Matrizen durch Skalare)
  • - (200) Subtraktion (auch von Vektoren und Matrizen durch Skalare, binär und unär)
  • ! (200) logisches Nicht (unär)
  • == (300) gleich
  • > (300) größer
  • < (300) kleiner
  • >= (300) größer oder gleich
  • <= (300) kleiner oder gleich
  • != (300) ungleich
  • ~= (300) ungefähr gleich
  • ~< (300) ungefähr kleiner
  • ~> (300) ungefähr größer
  • ~>= (300) ungefähr größer oder gleich
  • ~<= (300) ungefähr kleiner oder gleich
  • =:= (300) gleich nach Auswertung
  • & (350) logisches Und
  • % (350) logisches Oder
  • != (350) ungleich
  • ~!= (350) ungefähr ungleich
  • .. (350) Liste von Nummern von/bis
  • ++ (370) Verkettung von Listen
  • -- (370) Listendifferenz
  • ~~ (370) gemeinsame Elemente von zwei Listen
  • :> (370) Element an Liste anhängen
  • <: (370) Element an Liste voranstellen
  • = (400) Variablenzuweisung
  • := (400) Funktionsdefinition
  • :=_ (400) Definition löschen
  • -> (400) Modifiziererdeklaration
  • , (500) Trennzeichen für Listen und Funktionen
  • ; (500) Trennzeichen für Anweisungen

Im Folgenden werden die vordefinierten Funktionen von Cinderella angegeben. Nach dem Funktionsnamen ist die Anzahl der Argumente in Klammern angegeben. Zur besseren Orientierung werden die Funktionen in wenige Kategorien eingeteilt. Einige Funktionen können in mehreren Kategorien vorkommen. Hellblaue Funktionen sind noch nicht dokumentiert.

Grundlegende Funktionalität

Kontrollstrukturen

  • if (2) if-Operator
  • if (3) if/else-Operator
  • trigger (2) Funktion bei Wertänderung auslösen
  • while (2) while-Schleife
  • repeat (2) repeat-Schleife mit #-Laufvariable
  • repeat (3) repeat-Schleife mit expliziter Laufvariable
  • forall (2) repeat-Schleife mit #-Laufvariable
  • forall (3) forall-Schleife mit expliziter Laufvariable
  • eval (1) Auswertung eines Ausdrucks erzwingen

Variablenverwaltung

  • clear (0) alle Variablen löschen
  • clear (1) eine bestimmte Variable löschen
  • keys (1) Liste lokaler Schlüssel, die einem Objekt oder einer Variablen zugeordnet sind
  • createvar (1) lokale Variable erstellen
  • removevar (1) lokale Variable zerstören
  • regional (beliebig viele Argumente) lokale Variablen erstellen
  • local (beliebig viele Argumente) lokale Variablen erstellen (veraltet)
  • release (beliebig viele Argumente) lokale Variablen entfernen und letzten Wert zurückgeben (veraltet)

Ausgabe

  • print (1) einen Wert drucken
  • println (0) Zeilenumbruch
  • println (1) einen Wert drucken gefolgt von Zeilenumbruch
  • clearconsole (0) Ausgabekonsole löschen
  • err (1) Debug-Ausgabe
  • assert (2) bedingter Ausdruck zur Fehlerprüfung
  • format (2) Zahl in String mit angegeben Genauigkeit umwandeln
  • message (1) Meldung in der Statusleiste anzeigen

Berechnungen

Arithmetische Funktionen

  • sqrt (1) Quadratwurzel
  • exp (1) Exponentialfunktion
  • log (1) natürlicher Logarithmus
  • sin (1) Sinusfunktion
  • cos (1) Kosinusfunktion
  • tan (1) Tangensfunktion
  • arcsin (1) Arkussinusfunktion
  • arccos (1) Arkuskosinusfunktion
  • arctan (1) Arkustangensfunktion
  • arctan2 (1) binäre Arkustangensfunktion
  • arctan2 (2) binäre Arkustangensfunktion
  • add (2) Addition
  • sub (2) Subtraktion
  • mult (2) Multiplikation
  • div (2) Division
  • mod (2) Modulo
  • pow (2) Potenz
  • abs (1) Absolutwert
  • round (1) gerundeter Wert
  • floor (1) nächst kleinere ganze Zahl
  • ceil (1) nächst größere ganze Zahl
  • re (1) Realteil
  • im (1) Imaginärteil
  • conjugate (1) komplexe Konjugation
  • random (1) Zufallsreellzahl
  • randominteger (1) Zufallsganzzahl
  • random (0) Zufallszahl zwischen 0.0 und 1.0
  • randombool (0) zufälliger boolescher Wert
  • randomnormal (0) normalverteilte (0,1) Zufallsreellzahl
  • seedrandom (1) Zufallsgenerator initialisieren

Boolesche Funktionen

  • not (1) logisches Nicht
  • and (2) logisches Und
  • or (2) logisches Oder
  • xor (2) logisches exklusives Oder

Prädikate

String-Funktionen

  • text (1) alles in String umwandeln
  • substring (3) Substring eines Strings von Startindex zu Endindex
  • replace (3) alle Vorkommen eines Substrings durch einen anderen ersetzen
  • replace (2) mehrere Ersetzungen aus einer Liste von Ersetzungspaaren anwenden
  • tokenize (2) einen String tokenisieren und eine Liste von Tokens zurückgeben
  • indexof (2) erster Index eines Substrings
  • indexof (3) erster Index eines Substrings nach einer Position
  • length (1) Länge eines Strings
  • format (2) Zahl in String mit angegeben Genauigkeit umwandeln
  • sort Elemente aus einer Liste sortieren, kann insbesondere auf Listen von Strings angewendet werden
  • fontfamilies (0) eine Liste aller verfügbaren Schriftarten
  • unicode (1) Unicode in Zeichen umwandeln
  • candisplay (1) testen ob ein String vom aktuellen System und Font dargestellt werden kann
  • guess (1) Zahl in String umwandeln und die Bedeutung der Zahl erraten
  • parse (1) String in CindyScript-Ausdruck konvertieren

Analysis

  • d (2) numerische Ableitung einer Funktion
  • tangent(2) Tangente an eine Funktion berechnen
  • guess (1) Zahl in String umwandeln und die Bedeutung der Zahl erraten
  • pslq (1) dasselbe wie guess
  • roots (1) Nullstellen eines Polynoms bestimmen

Listen und Lineare Algebra

Elementare Listenoperationen

  • take (2) auf das n-te Element einer Liste zugreifen
  • length (1) Länge einer Liste
  • contains (2) Prädikat für Mitgliedschaft
  • append (2) ein Element an eine Liste anhängen
  • prepend (2) ein Element an eine Liste voranstellen
  • concat (2) zwei Listen verketten
  • common (2) gemeinsame Elemente von zwei Listen
  • remove (2) Listendifferenz

Listen durchlaufen

  • forall (2) forall-Schleife mit #-Laufvariable
  • forall (3) forall-Schleife mit expliziter Laufvariable
  • apply (2) eine Funktion auf alle Elemente einer Liste anwenden (Laufvariable ist #)
  • apply (3) eine Funktion auf alle Elemente einer Liste anwenden (explizite Laufvariable)
  • select (2) alle Elemente einer Liste mit bestimmter Eigenschaft auswählen (Laufvariable ist #)
  • select (3) alle Elemente einer Liste mit bestimmter Eigenschaft auswählen (explizite Laufvariable)

Hochwertige Listenoperationen

  • pairs (1) Liste aller Paare von Elementen einer Liste
  • triples (1) Liste aller Tripel von Elementen einer Liste
  • directproduct (2) direktes Produkt von zwei Listen
  • consecutive (1) Liste aller Paare aufeinanderfolgender Elemente einer Liste
  • cycle (1) Liste aller Paare aufeinanderfolgender Elemente einer Liste, zyklisch geschlossen
  • reverse (1) eine Liste umkehren
  • set (1) mehrfache Instanzen von Listenelementen entfernen, ergibt eine Menge
  • sort (1) Elemente in einer Liste sortieren
  • sort (2) Elemente in einer Liste nach expliziter Funktion sortieren
  • flatten (1) Verschachtelungstiefe einer Liste abflachen

Listen geometrischer Objekte

Arithmetische Listenoperationen

  • sum (1) Summe aller Listenelemente
  • sum (2) Summe von Funktionswerten angewendet auf alle Listenelemente (Laufvariable ist #)
  • sum (3) Summe von Funktionswerten angewendet auf alle Listenelemente (explizite Laufvariable)
  • product (1) Produkt aller Listenelemente
  • product (2) Produkt von Funktionswerten angewendet auf alle Listenelemente (Laufvariable ist #)
  • product (3) Produkt von Funktionswerten angewendet auf alle Listenelemente (explizite Laufvariable)
  • min (1) Minimum aller Listenelemente
  • min (2) Minimum von Funktionswerten angewendet auf alle Listenelemente (Laufvariable ist #)
  • min (3) Minimum von Funktionswerten angewendet auf alle Listenelemente (explizite Laufvariable)
  • max (1) Maximum aller Listenelemente
  • max (2) Maximum von Funktionswerten angewendet auf alle Listenelemente (Laufvariable ist #)
  • max (3) Maximum von Funktionswerten angewendet auf alle Listenelemente (explizite Laufvariable)

Vektor- und Matrizenoperationen

  • zerovector (1) einen Nullvektor bestimmter Länge erzeugen
  • zeromatrix (2) eine Nullmatrix bestimmter Länge erzeugen
  • rowmatrix (1) einen Vektor in eine Zeilenmatrix umwandeln
  • columnmatrix (1) einen Vektor in eine Spaltenmatrix umwandeln
  • matrixrowcolumn (1) Anzahl der Reihen und Spalten einer Matrix
  • row (2) eine bestimmte Reihe einer Matrix
  • column (2) eine bestimmte Spalte einer Matrix
  • submatrix (2) eine bestimmte Untermatrix einer Matrix
  • transpose (1) Transposition einer Matrix
  • dist (2) numerischer Wert der Entfernung zweier Vektoren
  • det (1) Determinante einer quadratischen Matrix
  • hermiteanproduct (2) hermitesches Skalarprodukt
  • inverse (1) Umkehrung einer invertierbaren quadratischen Matrix
  • adj (1) Adjunktion einer quadratischen Matrix
  • eigenvalues (1) Eigenwerte einer quadratischen Matrix
  • eigenvectors (1) Eigenvektoren einer quadratischen Matrix
  • linearsolve (2) ein lineares Gleichungssystem lösen
  • convexhull3d (1) konvexe Hülle einer Liste von 3D-Punkten

Zeichnen

Zeichenfunktionen

  • draw (1) einen Punkt zeichnen
  • draw (2) ein Segment zeichnen
  • drawpoly (1) Polygonrand aus Punktliste zeichnen
  • drawpolygon (1) dasselbe wie drawpoly
  • fillpoly (1) gefülltes Polygon aus Punktliste zeichnen
  • fillpolygon (1) dasselbe wie fillpoly
  • drawcircle (2) einen Kreis aus Mittelpunkt und Radius zeichnen
  • fillcircle (2) einen Kreis aus Mittelpunkt und Radius füllen
  • drawall (1) alle Elemente in einer Liste zeichnen
  • connect (1) eine Liste von Punkten verbinden
  • drawtext (2) einen String zeichnen
  • drawtable (2) eine Tabelle zeichnen
  • repaint (0) Neuzeichnung des Bildschirms erzwingen
  • repaint (1) Neuzeichnung des Bildschirms nach einer Verzögerung erzwingen

Zeichenerscheinung

  • pointsize (1) Punktgröße festlegen
  • linesize (1) Linienstärke festlegen
  • textsize (1) Textgröße festlegen
  • pointcolor (1) Punktfarbe festlegen
  • linecolor (1) Linienfarbe festlegen
  • textcolor (1) Textfarbe festlegen
  • color (1) Gesamtfarbe festlegen
  • alpha (1) Gesamt-Alpha festlegen
  • gsave (0) Farben, Alpha, Breite, Clipping und Transformation auf Stack speichern
  • grestore (0) Farben, Alpha, Breite, Clipping und Transformation vom Stack wiederherstellen
  • greset (0) Farben, Alpha, Breite, Clipping und Transformation zurücksetzen. Stack zurücksetzen

Farbfunktionen

  • red (1) rotes RGB-Vektor
  • green (1) grüner RGB-Vektor
  • blue (1) blauer RGB-Vektor
  • grey (1) grauer RGB-Vektor
  • gray (1) grauer RGB-Vektor
  • hue (1) Farbton RGB-Vektor

Funktionsplotten

  • plot (1) eine Funktion mit #-Laufvariable plotten
  • plot (2) eine Funktion mit expliziter Laufvariable plotten
  • fillplot (1) eine Funktion mit integralartiger Hervorhebung plotten
  • fillplot (2) Unterschied zwischen zwei Funktionen hervorheben
  • colorplot (3) einen Bereich farblich nach den Werten einer Funktion plotten
  • drawfield (1) den Fluss eines Vektorfeldes zeichnen
  • drawfieldcomplex (1) den Fluss einer komplexen Funktion zeichnen
  • drawforces (1) den Fluss eines Kraftfeldes zeichnen
  • drawcurves (2) ein Oszillogramm für Physik zeichnen
  • mapgrid (1) ein rechteckiges Gitter abbilden

Pixelgraphik

  • drawimage (2) ein Pixelbild bezüglich eines Punkts zeichnen
  • drawimage (3) ein Pixelbild bezüglich zweier Punkte zeichnen
  • drawimage (4) ein Pixelbild bezüglich dreier Punkte zeichnen
  • drawimage (5) ein Pixelbild bezüglich vierter Punkte zeichnen
  • mapimage (2) ein Pixelbild bezüglich einer Funktion abbilden
  • imagesize (1) die Größe eines Bildes abrufen
  • imagergb (3) den rgba-Wert eines Pixels abfragen
  • createimage (3) ein Pixelbild mit Name und angegeben Größe erstellen
  • clearimage (1) ein Pixelbild löschen
  • removeimage (1) ein Pixelbild entfernen
  • canvas (3) ein Pixelbild als Leinwand bezüglich eines Punkts verwenden
  • canvas (4) ein Pixelbild als Leinwand bezüglich zweier Punkte verwenden
  • canvas (5) ein Pixelbild als Leinwand bezüglich dreier Punkte verwenden

Formen

  • circle (2) eine kreisförmige Form aus Punkt und Radius erstellen
  • polygon (1) eine polygonale Form aus einer Liste von Punkten erstellen
  • halfplane (2) eine Halbebene-Form erstellen
  • screen (0) eine polygonale Form erstellen, die den Bildschirm abdeckt
  • fill (1) eine Form füllen
  • draw (1) die Kontur einer Form zeichnen
  • clip (1) Clipping-Pfad auf eine Form setzen

Geometrische Transformationen

  • translate (1) das globale Koordinatensystem verschieben
  • rotate (1) das globale Koordinatensystem drehen
  • scale (1) das globale Koordinatensystem skalieren
  • setbasis (1) das globale Koordinatensystem auf eine Verschiebungsbasis setzen
  • setbasis (2) das globale Koordinatensystem auf eine Ähnlichkeitsbasis setzen
  • setbasis (3) das globale Koordinatensystem auf eine affine Basis setzen
  • setbasis (4) das globale Koordinatensystem auf eine projektive Basis setzen

Ebene

Geometrie

Geometrische Funktionen

  • moveto (2) Punkt zu Position verschieben
  • meet (2) Schnittpunkt von zwei Linien
  • join (2) Verbindung von zwei Punkten
  • perp (1) senkrechter 2-dimensionaler Vektor
  • perp (2) senkrechte Linie durch Punkt
  • perpendicular (2) senkrechte Linie durch Punkt
  • para (2) parallele Linie durch Punkt
  • parallel (2) parallele Linie durch Punkt
  • cross (2) Kreuzprodukt von zwei 3-dimensionalen Vektoren
  • dist (2) Entfernung zweier Punkte
  • area (3) Fläche eines Dreiecks aus drei Punkten
  • det (3) Determinante der Matrix von drei Punkten in homogenen Koordinaten
  • crossratio (4) Querverhältnis von vier Punkten
  • complex (1) xy-Punkt in komplexe Zahl umwandeln
  • gauss (1) komplexe Zahl in xy-Punkt umwandeln
  • point (1) geometrischen Typ eines Vektors auf Punkt setzen
  • line (1) geometrischen Typ eines Vektors auf Linie setzen
  • geotype (1) geometrischen Typ eines Vektors abrufen
  • map (2) eine Transformationsmatrix für Verschiebungen erhalten
  • map (4) eine Transformationsmatrix für Ähnlichkeiten erhalten
  • map (6) eine Transformationsmatrix für affine Transformationen erhalten
  • map (8) eine Transformationsmatrix für projektive Transformationen erhalten
  • pointreflect (1) eine Transformationsmatrix für Spiegelung an einem Punkt erhalten
  • linereflect (1) eine Transformationsmatrix für Spiegelung an einer Linie erhalten
  • incidences (1) Liste von Inzidenzen eines geometrischen Objekts
  • locusdata (1) Liste von Punkten auf einem Ort

Inspektion

  • inspect (1) verfügbare Attribute auflisten
  • inspect (2) ein Attribut abrufen
  • inspect (3) ein Attribut setzen

Konstruktionsmanipulation

  • createpoint (2) einen Punkt mit Name und Position erstellen (seit 2.1)
  • create (3) ein beliebiges geometrisches Element erstellen
  • removeelement (1) ein benanntes geometrisches Element und die abhängigen Elemente löschen
  • algorithm (1) Konstruktionsalgorithmus eines Elements abrufen
  • inputs (1) definierende Objekte eines Elements abrufen
  • element (1) ein Griff zu einem Element abrufen

Sound

MIDI

Gesampelte Audiodaten

  • playsin (1) ein periodisches Signal spielen
  • playfunction (1) eine Funktion zur Erzeugung eines Audiomusters verwenden
  • playwave (1) eine Liste von Zahlen zur Erzeugung eines Audiomusters verwenden
  • stopsound (0) alle Audioausgabeleitungen stoppen

Systemfunktionen

Maus- und Tastaturinput

  • mover (0) zuletzt bewegtes Objekt
  • mouse (0) aktuelle Mausposition in homogenen Koordinaten
  • elementsatmouse (0) listet alle Elemente in der Nähe der aktuellen Mausposition auf
  • key (0) eingegebenes Zeichen
  • iskeydown (1) fragt ab, ob eine Taste derzeit gedrückt wird
  • keydownlist (0) Liste aller derzeit gedrückten Tasten
  • amsdata (0) Daten von einem integrierten Gravitationssensor
  • calibratedamsdata (0) Daten von einem integrierten Gravitationssensor nach Kalibrierung
  • createtool (3) ein benutzerdefiniertes Werkzeug erstellen
  • removetool (1) ein Werkzeug aus einem benutzerdefinierten Werkzeug entfernen

Zeit

  • resetclock (0) interne Uhr zurücksetzen
  • seconds (0) Sekunden seit letztem Zurücksetzen
  • simulationtime (0) mit Simulation synchronisierte Zeit
  • time (0) aktuelle Realzeit
  • date (0) aktuelles Realdatum
  • wait (1) auf eine angegeben Anzahl von Millisekunden warten

Datei-E/A

  • setdirectory (1) aktuelles Verzeichnis festlegen
  • load (1) Daten aus einer Datei laden
  • import (1) Programmcode aus Datei importieren
  • openfile (1) eine Datei mit angegeben Name öffnen, einen Griff zurückgeben
  • closefile (1) eine Datei durch einen Griff schließen
  • print (2) in eine Datei drucken
  • println (2) println in eine Datei
  • setdirectory (1) das aktuelle Verzeichnis festlegen

Netzwerk

  • openurl (1) eine angegeben URL im Browser öffnen
  • javascript (1) Javascript aufrufen
  • openconnection (2) einen TCP-Port öffnen
  • print (2) in eine TCP-Verbindung schreiben
  • println (2) in eine TCP-Verbindung schreiben
  • flush (1) Ausgabe auf einen TCP-Port leeren
  • readln (1) von einer TCP-Verbindung lesen
  • closeconnection (1) eine TCP-Verbindung schließen

Physik und Animationen

Physiksimulation

  • simulation (0) Griff zur Simulation
  • force (1) Kraft an einer bestimmten Position prüfen
  • addforce (2) eine Kraft auf eine Masse anwenden
  • setforce (2) die Kraft einer Masse auf einen bestimmten Wert setzen

Animationen

Sonstiges

Experimentelle und undokumentierte Operatoren

Die Verwendung der folgenden Operatoren erfolgt auf eigenes Risiko.

  • freevariables (1)
  • java (1)
  • curview (0)
  • curkernel (0)
  • curgraphalgorithm (0)
  • attribute (2) Benutzerattribut lesen
  • attribute (3) Benutzerattribut setzen
  • inspectinfo (2) Information zum Attribut
  • createmass (3) eine Massepunkt mit Name, Position und Geschwindigkeit erstellen (derzeit nicht unterstützt)

🤖 Diese Seite wurde automatisch mit KI (Claude) übersetzt und wartet noch auf Überprüfung. → Alle KI-übersetzten Seiten