Bewegung auf Kreisabschnitt in Processing
Powered by Processing.js
- Startwinkel der Betrag der Variable angleStart
- Endwinkel der abgefrage Winkel in der if-Bedingung
Der Sketch
float xcenter; // Mittelpunkt auf der x-Achse
float ycenter; // Mittelpunkt auf der y-Achse
float rad = 65; // Radius der Kreisbahn
float angle = 0; // aktueller Rotationswinkel
float angleStart = 0.4; // Startwinkel
void setup () {
size (550, 200);
smooth ();
noStroke ();
background (76);
// Rotationsmittelpunkt
xcenter = width / 2;
ycenter = height / 2;
angle = angleStart;
}
void draw () {
fill (76, 5);
rect (0, 0, width, height);
// Verschieben des Rotationswinkels
angle += 0.04;
// Zurücksetzen des Winkels wenn End-
// winkel von einem PI erreicht ist
if (angle > PI + angleStart) {
angle = angleStart;
}
// Berechnung der aktuellen Position
float x = xcenter + cos (angle) * rad;
float y = ycenter + sin (angle) * rad;
// Zeichnen des Kreises
fill (236);
ellipse (x, y, 20, 20);
}