If you're seeing this message, it means we're having trouble loading external resources on our website.

Wenn du hinter einem Webfilter bist, stelle sicher, dass die Domänen *. kastatic.org und *. kasandbox.org nicht blockiert sind.

Hauptinhalt

Polarkoordinaten

Immer wenn wir in ProcessingJS eine Form zeichnen, müssen wir ihre Pixelposition als x- und y-Koordinaten angeben. Diese Koordinaten sind auch als Kartesische Koordinaten bekannt. Sie wurden nach dem Französischen Mathematiker René Descartes, welcher die Idee hinter dem Kartesischen Raum entwickelt hat, benannt.
Es gibt auch andere nützliche Koordinatensysteme. Eines davon ist bekannt als Polarkoordinaten. Sie beschreiben einen Punkt im Raum mit seinem Drehwinkel und Radius vom Ursprung. Stell dir dies als Vektor vor:
  • Kartesisches Koorrdinatensystem: die x-, y-Komponenten eines Vektors
  • Polarkoordinaten: der Betrag (Länge) und die Richtung (Winkel) eines Vektors
Die Zeichnungsfunktionen von ProcessingJS verstehen aber keine Polarkoordinaten. Immer wenn wir in ProcessingJS etwas anzeigen möchten, müssen wir die Positionen als kartesische Koordinaten (x,y) angeben. Manchmal wäre es aber viel bequemer wenn wir uns beim Programmieren diese als Polarkoordinaten vorstellen könnten. Zum Glück können wir mit Trigonometrie zwischen polaren und kartesischen Koordinaten hin- und herkonvertieren. Dies erlaubt es uns immer das passendste Koordinatensystem zur Berechnung zu verwenden und dann mit den kartesischen Koordinaten zu zeichnen.
Der griechische Buchstabe θ (Theta) wird oft verwendet um einen Winkel zu bezeichnen. Eine Polarkoordinate wird daher oft auch als (r, θ) anstelle von (x, y) bezeichnet. Daher werden wir nun für Polarkoordinaten "theta" als bevorzugten Variablennamen für den Winkel verwenden.
sin(theta) = y/r → y = r * sin(theta)
cosin(theta) = x/r → x = r * cosin(theta)
Wenn zu Beispiel r gleich 75 und theta gleich 45 Grad ( oder Pi/4 rad) ist, können wir x und y wie unten berechnen. Die Funktionen für Sinus und Kosinus in ProcessingJS sind sin() und cos(). Beide akzeptieren je einen Parameter, den Winkel in Grad.
var r = 75;
var theta = 45;

// Wandle polare in kartesische Koordinaten um
var x = r * cos(theta);
var y = r * sin(theta);
Diese Art der Umwandlung kann in gewissen Anwendungen sehr nützlich sein. Wenn wir z.B. eine Form entlang einer Kreisbahn bewegen, ist dies mit dem kartesischen Koordinaten etwas kompliziert. Mit Polarkoordinaten aber ist es sehr einfach: inkrementiere den Winkel!
Und hier siehst du nun, wie du einfach eine Form mit Polarkoordinaten um einen Mittelpunkt kreisen lassen kannst:

Der Kurs "Natürliche Simulationen" ist eine Bearbeitung von "The Nature of Code" von Daniel Shiffman, und wird unter der Creative Commons Attribution-NonCommercial 3,0 Unported Lizenz verwendet.

Willst du an der Diskussion teilnehmen?

Noch keine Beiträge.
Verstehst du Englisch? Klick hier, um weitere Diskussionen auf der englischen Khan Academy Seite zu sehen.