Bewegung auf einer Ellipse in Processing

Hinzugefügt am von Steffen Fiedler

Powered by Processing.js

Der Unterschied zwischen einem gleichförmigen Kreis und einer Ellipse besteht in der Varianz des Radius. Die Punkte auf einem Kreis besitzen immer den selben Abstand zum Zentrum des Kreises - bei einer Ellipse verändert sich dieser Abstand (Radius) von Punkt zu Punkt.
In diesem Beispiel wurden deshalb zusätzlich die beiden Variablen xRad und yRad eingeführt. Für jedes Bild wird jeweils der Radius der Ellipse für die x und y-Achse berechnet. Dabei kann durch das Verschieben der Maus deren Betrag geändert werden.

Der Sketch

float xcenter;    // Mittelpunkt auf der x-Achse
float ycenter;    // Mittelpunkt auf der y-Achse
float rad = 75;   // Radius der Kreisbahn
float angle;      // aktueller Rotationswinkel

void setup () {
    size(550, 200);
    smooth ();
    noStroke ();
    background (76);

    // Rotationsmittelpunkt
    xcenter = width / 2;
    ycenter = height / 2;
}

void draw () {
    fill (76, 3);
    rect (0, 0, width, height);

    // Verschieben des Rotationswinkels
    angle += 0.04;

    // Berechnen des Radiuses für x und y Achse
    float xRad = 100;
    float yRad = 60;

    // Berechnen der aktuellen Position
    float x = xcenter + cos (angle) * xRad;
    float y = ycenter + sin (angle) * yRad;

    // Zeichnen des Kreises
    fill (236);
    ellipse (x, y, 20, 20);
}