Transformieren von Grafikobjekten (move, rotate, scale)
move
Mit der Methode move(double dx, double dy)
können Grafikobjekte verschoben werden.
Vorsicht: Da die y-Achse nach unten zeigt, bewirkt ein positiver Wert von dy
eine Verschiebung nach unten!
rotate
Die Methode rotate(double angleInDeg)
rotiert das Objekt um den angegebenen Winkel (in Grad). Positive Winkel entsprechen einer Rotation im Uhrzeigersinn. Drehpunkt ist der „Mittelpunkt“ des Objekts, genauer: der Schnittpunkt der Diagonalen der achsenparallelen Boundingbox des Objekts.
Möchte man ein Objekt um einen anderen Drehpunkt drehen, so kann man die Koordinaten dieses Drehpunkts der Methode rotate
als 2. und 3. Parameter übergeben. rotate(30, 100, 200)
rotiert das Objekt beispielsweise um 30°, wobei der Punkt (100, 200) als Drehpunkt verwendet wird.
scale
Die Methode scale(double factor)
führt mit dem Objekt eine zentrische Streckung durch. Der Parameter factor
ist der Streckungsfaktor. Zentrum der Streckung ist der „Mittelpunkt“ des Objekts (s.o.), es sei denn, seine Koordinaten werden explizit als 2. und 3. Parameter übergeben. scale(1.5, 100, 200)
streckt also um den Faktor 1.5 mit dem Streckungszentrum (100, 200).
Tipp: Eine Streckung um den Faktor $f$ wird durch eine weitere Streckung mit demselben Zentrum und dem Faktor $1/f$ wieder rückgängig gemacht.