AffineTransform: Nach Drehen verschieben

_-`avaj´-_

Mitglied
Hallo,
ich habe folgendes Problem: Für ein Spiel benutze ich AffineTransform um Objekte zu rotieren und zu verschieben. Allerdings gibt es da ein Problem wenn man versucht ein rotiertes Objekt in eine bestimmte Richtung zu verschieben:
Da AffineTransform ja das ganze Koordinatensystem dreht sind damit z.B. nach einer 90° Drehung die Koordinatenachen vertaucht.
Ich suche jetzt nach einer Möglichkeit Koordinaten so umzurechnen, das das ganze wieder richtig funktioniert.

Ich hoffe jemand kann mir helfen ;)
 

DrZoidberg

Top Contributor
Du musst unterscheiden zwischen einer relativen und einer absoluten Transformation. Eine Transformation kann relativ zum transformierten Koordinatensystem sein, das ist bei Java's AffineTransform Klasse normalerweise der Fall. Transformationen können aber auch absolut sein, das heisst sie beziehen sich immer auf das absolute Koordinatensystem.

Wenn du z.B. 3 Transformationen hast - A, B und C
Dann ist ABC relativ identisch zu CBA absolut.

Wenn du alle drei hintereinander durchführst, also erst A, gefolgt von B und zum Schluss C und das ganze als relative Transformationen, dann ist das exakt das selbe als wenn du erst C, dann B und dann A ausführst aber als absolute Transformationen.
Wenn du also so was hast
Java:
AffineTransform rotate = AffineTransform.getRotateInstance(...);
AffineTransform move = AffineTransform.getTranslateInstance(...);

Und du willst, dass die Verschiebung nach der Rotation im absoluten/ursprünglichen Koordinatensystem stattfindet, könntest du das hier schreiben.
Java:
AffineTranform transform = move.concatenate(rotate);
oder alternativ
Java:
AffineTranform transform = rotate.preConcatenate(move);
 

_-`avaj´-_

Mitglied
Hallo,
danke für deine Antwort!
Das ganze funktioniert mit
Code:
transform.preConcatenate(move)
ganz wunderbar!

Damit hätte sich das Thema dann auch schon wieder ;)

Vielen Dank nochmal für deine Hilfe!

PS:
Code:
concatenate(AffineTransform Tx)
bzw.
Code:
concatenate(AffineTransform Tx)
sind void ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E relevanter bereich einer isometrischen karte zeichnen (AffineTransform) Spiele- und Multimedia-Programmierung 0
T Probleme mit AffineTransform Spiele- und Multimedia-Programmierung 13
M Skalieren mit AffineTransform und SCALE_SMOOTH? Spiele- und Multimedia-Programmierung 3
M Bildrauschen bei AffineTransform? Spiele- und Multimedia-Programmierung 2
G AffineTransform macht programm immer langsamer Spiele- und Multimedia-Programmierung 3
H Verständnisproblem GeneralPath/AffineTransform Spiele- und Multimedia-Programmierung 2
K AffineTransform Spiele- und Multimedia-Programmierung 2
LeleEdits Discord JDA nach Rolle suchen Spiele- und Multimedia-Programmierung 0
I Wie kann ich die Kreise nach jeweils 1s spawnen lassen? Processing Spiele- und Multimedia-Programmierung 1
dummycoders Android Studio - Button ändert Farbe erst nach Delay? Spiele- und Multimedia-Programmierung 5
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
Blender3D VLCJ Video lässt sich nicht mehr abspielen nach mysql Installation Spiele- und Multimedia-Programmierung 1
M Kann nur nach rechts drehen Spiele- und Multimedia-Programmierung 7
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
B LWJGL StackOverFlow Problem nach 30sekunden. (Pong) Spiele- und Multimedia-Programmierung 2
N JPanel Inhalt aktualisiert nach Thread.sleep nicht Spiele- und Multimedia-Programmierung 2
T MiniCraft - selbst nach Programmieren Spiele- und Multimedia-Programmierung 25
F Screenshot Programm nach Exception weiterlaufen lassen? Spiele- und Multimedia-Programmierung 9
D Java Variable nach String benennen Spiele- und Multimedia-Programmierung 13
A Minecraft SocketException nach Minecraft-Update Spiele- und Multimedia-Programmierung 6
M DataLine not supported nach 20 Minuten Spiele- und Multimedia-Programmierung 6
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
E Spiel startet nach exportieren nicht Spiele- und Multimedia-Programmierung 7
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
aze "verstümmelte Flächen" nach TransparenzInterpolation Spiele- und Multimedia-Programmierung 9
W JOGL bleibt nach display() in PaintArea.paintComponent hängen Spiele- und Multimedia-Programmierung 5
F Lichtspektrum dezimal nach RGB Spiele- und Multimedia-Programmierung 10
R Koordinaten, Breite, Höhe nach drehen berechnen? Spiele- und Multimedia-Programmierung 3
Apo ApoStarz - Bring die Sterne nach Hause Spiele- und Multimedia-Programmierung 19
M Sich nach links verschiebendes Bild Spiele- und Multimedia-Programmierung 2
D Zwei Fragen (Exponential Fog und Schein-nach-außen-Effekt) Spiele- und Multimedia-Programmierung 6
S Polygon bewegt sich nach mehreren aufrufen immer schneller Spiele- und Multimedia-Programmierung 3
M durchsichtiges Bild nach clearRect Spiele- und Multimedia-Programmierung 8
S drawString Befehl nicht ausgeführt nach transforming Spiele- und Multimedia-Programmierung 5
F Das SPiel ruckelt nach einer Zeit Spiele- und Multimedia-Programmierung 19
S Info+Taste nach oben. Spiele- und Multimedia-Programmierung 2
S Punkt berechnen, nach Rotation Spiele- und Multimedia-Programmierung 2
R Falsche Positionierung der Interpolatoren nach Verwendung Spiele- und Multimedia-Programmierung 3
G Slick2D SpriteSheet drehen in kuckrichtung Spiele- und Multimedia-Programmierung 1
Androbin mehr-dimensionale(n) Array(s) "drehen" Spiele- und Multimedia-Programmierung 8
L Bild in Richtung Maus drehen Spiele- und Multimedia-Programmierung 4
Creylon [LWJGL] 2D Sprite Rotieren/Drehen Spiele- und Multimedia-Programmierung 6
E [LWJGL] Karusell, mehrere Objekte drehen sich um einen Mittelpunkt Spiele- und Multimedia-Programmierung 31
R Drehen eines Bildes relativ zur Mauszeigerposition Spiele- und Multimedia-Programmierung 2
A Drehen von einem Image Spiele- und Multimedia-Programmierung 4
CookieSoft 3D Würfel will sich nicht drehen! [LWJGL] Spiele- und Multimedia-Programmierung 2
T JOGL 2D Objekte drehen rotate Spiele- und Multimedia-Programmierung 4
F 2D Shooter (von oben) Kugelberechnung und drehen der Figur Spiele- und Multimedia-Programmierung 17
M 2D - Bild um y-Achse drehen Spiele- und Multimedia-Programmierung 9
S Drehen nur um x-Achse Spiele- und Multimedia-Programmierung 5
T [java3d] Figur drehen Spiele- und Multimedia-Programmierung 16
B vertikal schreiben oder eine Bilddatei drehen? Spiele- und Multimedia-Programmierung 11
A "Textur-Achse" drehen. Spiele- und Multimedia-Programmierung 2
M um eigene Achse drehen Spiele- und Multimedia-Programmierung 3
B Bounds drehen sich nicht mit.... Spiele- und Multimedia-Programmierung 7
P Rechteck drehen Spiele- und Multimedia-Programmierung 3
P 2D Bild drehen Spiele- und Multimedia-Programmierung 4
N Rundenstrategiespiel - Problem beim Drehen eines Bildes Spiele- und Multimedia-Programmierung 18
Z Obejkt drehen & vorwärts bewegen Spiele- und Multimedia-Programmierung 9
K Bilder drehen Spiele- und Multimedia-Programmierung 5
R Bild drehen Spiele- und Multimedia-Programmierung 24
X Bild auf aktueller position drehen Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben