Flashhilfe.de - Flash Community

koordinaten bei drehung um einen punkt berechnen [Flash MX]

 


AntwortenRegistrieren Seite1  

abgemeldeter Benutzer#1
02.05.2004, 09:13

hi, ich habe mal gefragt, wegen der berechnung von den neuen xyz koordinaten, wenn man ein objekt um den mittelpunkte dreht.
ich bin damals auch auf die prototype sektion verwiesen worden, hat mir jedoch nix geholfen!
nun ne neue frage: wie kann ich die xyz koordinaten berechnen, wenn ich ein objekt um irgend einen punkt drehen will?
ich kenne die alten koordinaten des objekts (d.h. der eckpunkte des objekts, die ich ja neu berechnen will), den x/y winkel und die x/y koordinaten des punktes um den das objekt gedreht werden soll.
ich hoffe es kann mir jemand weiterhelfen, sonst mussich wieder meinen mathe lehrer belästigen...

Grüsse,
-{Fix}-
Webmaster of
http://www.fhofer-universe.ch.vu/
---------------
http://www.icarus-design.ch/
-=BoE=-#2
Benutzerbild von -=BoE=-
Beiträge: 144
Wohnort: B
Registriert: Nov 2003

02.05.2004, 10:17

hi Fix,

willst du nen Vector im Raum drehen (wegen x y z ) ?? Oder in der Ebene

-=BoE=-
-=BoE=-
abgemeldeter Benutzer#3
Themenautor/in

02.05.2004, 11:14

ja weisst du, ich habe ne kleine engine gemacht, bei der man drahtgitter objekte um ihren mittelpunkt drehen kann...
jetzt entwickle ich diese weiter für nen kleinen 3d online shooter, und da sollen natürlich alle objekte immer um einen bestimmten punkt drehen, da wo der spieler steht.
das umrechnen und anzeigen der objekte ist kein problem,
aber das berechnen der koordinaten

Grüsse,
-{Fix}-
Webmaster of
http://www.fhofer-universe.ch.vu/
---------------
http://www.icarus-design.ch/
-=BoE=-#4
Benutzerbild von -=BoE=-
Beiträge: 144
Wohnort: B
Registriert: Nov 2003

02.05.2004, 15:03

hi fix,

also im Raum.
angenommen wir haben so einen Raum

  y
  | _ x
  /
z

dann willst du einen Punkt (x,y,z) um eine Gerade drehen. Das ist die Gerade Parallel zur y-Achse mit zPosition an der der Spieler steht.

Da musst du eine Reihe von Transformationen machen.
1.Matrix: Gerade zur y-Achse bewegen
2.Matrix: Rotation um die y-Achse um Winkel
3.Matrix: 1. Translation rückwärts machen

die Matrizen müssen multipliziert werden (achtung, nicht kommutativ)

ich hoffe das gibt erstmal genug Hinweise.
Wie man verscheibt und rotiert kannst du im Netz finden.


-=BoE=-
-=BoE=-
abgemeldeter Benutzer#5
Themenautor/in

02.05.2004, 19:49

verstehe das noch nicht so ganz, werds mir aber mal überlegen...

Grüsse,
-{Fix}-
Webmaster of
http://www.fhofer-universe.ch.vu/
---------------
http://www.icarus-design.ch/
abgemeldeter Benutzer#6
Themenautor/in

03.05.2004, 08:52

so ganz verstehe ich das net,
vorallem net was das heisst:
die Matrizen müssen multipliziert werden (achtung, nicht kommutativ)


Grüsse,
-{Fix}-
Webmaster of
http://www.fhofer-universe.ch.vu/
---------------
http://www.icarus-design.ch/
-=BoE=-#7
Benutzerbild von -=BoE=-
Beiträge: 144
Wohnort: B
Registriert: Nov 2003

03.05.2004, 13:38

Du willst eigentlich nur eine Drehung um eine Achse machen.
Dazu musst du aber mehrere Transformationen machen.

Jede Transformation kann durch eine Matrix beschrieben werden.
Du musst wahrscheinlich 4x4 Matrix nehmen.

Durch Multiplikation der Matrizen ergibt sich eine Matrix, die du dann nur noch mit dem Punkt multiplizieren musst, um deinen transformierten Punkt zu bekommen.

z.B.
M = M3*(M2*M1)

Matrixmultiplikation ist nich assoziativ und nicht kommutativ, heisst nur, dass  M2*M1 != M1*M2 ist.

Auf die Reihenfolge ist also zu achten.
Du hast also 3 Matrizen.
M1: Verschiebung der Achse des Spielers auf die y-Achse
M2: Rotation um einen Winkel um die y-Achse
M3: M1 rückwärts

M = M3*(M2*M1)

-=BoE=-
-=BoE=-

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de