# Koordinaten, Breite, Höhe nach drehen berechnen?



## raven (18. Jan 2009)

Hallo,

Meine Frage ist! Wir kann ich die Koordinaten, Breite, Höhe unter einbezug des Drehwinkels berechnen? Also ich hab ein Objekt(Rectangle2D) was ich drehen kann... Nun brauche ich aber für eine Kollissionsabfrage, die neuen Koordinaten bzw. Höhe/Breite... Gibt es da eine Methode die die Berechnung für mich übernimmt. oder muss ich dies von Hand selbst errechen? Wenn ja! Wie macht man das?

mfg raven


----------



## Marco13 (18. Jan 2009)

AffineTransform erstellen, die die drehung beschreibt, und dann die Eckpunkte des ursprünglichen Rectangles mit dieser Transform transformieren. Wenn du NUR die BoundingBox brauchst, geht es vielleicht etwas einfacher, aber die AffineTransform wirst du trotzdem brauchen, und für eine (genaue) Kollisionsabfrage hilft die BoundingBox nicht so viel.


----------



## raven (18. Jan 2009)

ja ich brauch nur die bounding box... du sagtest es geht da etwas leichter.... weißt du wie? Will unnötige rechenarbeit des pc vermeiden...


----------



## Marco13 (18. Jan 2009)

"Einfacher" bezog sich auf die Verwendung, bzw. die Kompliziertheit der Codezeilen .. das wäre sowas wie
Rectangle bounds = affineTransformForRotation.createTransformedShape(initialRectangle).getBounds();
aber das wäre vermutlich(!) weniger effizient als die "komplizierte" Lösung, wo man die Punkte einzeln berechnet und von den Punkten dann (ggf. schon während der Berechnung) die BoundingBox bestimmt....
Man hat oft die Wahl, ob man es sich einfach macht, und dem Rechner (ggf. überflüssige) Rechenarbeit aufbürdet, oder man sich selbst die Arbeit macht, zu versuchen, die Arbeit für den Rechner zu minimieren.


----------

