Koordinaten Transformationen: Ein Raumschiff wird um die eigene Achse rotiert
(Weitergeleitet von Ein Raumschiff wird um die eigene Achse rotiert)
Der Code zum selbst Ausprobieren
Raumschiff schiff = new Raumschiff(150,150, 15); Raumschiff schiff2 = new Raumschiff(150,250, 15); Raumschiff schiff3 = new Raumschiff(50,250, 15); int winkel = 0; void setup() { size(400,400); background(120); } void draw() { background(120); schiff.setRotation(winkel++); schiff.display(); schiff2.setRotation(45+winkel++); schiff2.display(); schiff3.setRotation(45+winkel++); schiff3.setScale(1.2); schiff3.display(); delay(5); } class Raumschiff { int x, y; int hoeheSchiff; int rotation; // 0....360 Grad float scale_ = 1; Raumschiff(int x_, int y_, int h) { x = x_; y = y_; hoeheSchiff = h; } void setRotation(int r) { rotation = r; } void setScale(float s) { scale_ = s; } void display() { pushMatrix(); translate(x, y); scale(scale_); rotate(radians(rotation)); translate(-x, -y); triangle(x-hoeheSchiff, y-hoeheSchiff, x+hoeheSchiff, y-hoeheSchiff, x, y+hoeheSchiff); popMatrix(); } }