weltkoordinaten aus koordinaten und aktueller matrix (opengl)
-
Hi Leute,
wie muss ich rechnen um aus der aktuellen matrix und den koordinaten eines beliebigen punktes im raum weltkoordinaten zu erhalten?
danke schon mal.
mfg Oermel
-
ein punkt im "weltraum" hat worldspace coordinaten.
-
soll das ein tipp sein oder eine begriffserklärung?
-
das ist eine antwort auf deine frage wie dein punk im raum in die raumkoordinaten bekommst. er ist schon da.
-
wenn du viewkoordinaten auf weltkoordinaten brauchst
musst die inverse matrix passend zu den viewkoordinaten nehmen und mit der multiplizieren.wie man auf ne inverse matrix kommt ist ne andere geschichte.
-
der punkt wir aber vorher mit der aktuellen modelview matrix multiplizert und das will ich rückgängig machen (kann noch keine matrizen rechnung
)
um das problem etwas genauer zu erläutern:
ich kann mich in der welt bewegen, die ich programmiert hab.
d.h. dass man duch bewegen der maus die welt rotiert, bzw. duch drücken der pfeiltasten die welt um den betrachter translatiert wird so dass der eindruck der eigenbewegung endsteht. nun stehen irgendwelche objekte im raum, die ich bewegen kann und ich lasse diese in der schon transformierten welt zeichnen und habe hier nur die relativen punkte und möchte die punkte nun so haben, dass ich sie mit der einheitsmatrix als aktive matrix genau dahin bekäme wo der punkt in "meiner" welt auch ist.
PS: ich hoffe das ist nicht zu dumm ausgedrückt
-
Oermel schrieb:
der punkt wir aber vorher mit der aktuellen modelview matrix multiplizert und das will ich rückgängig machen (kann noch keine matrizen rechnung
)v' = M * v
v = M^(-1) * v'M^(-1) = inverse matrix.
google danach, ich hab kA wie man die bekommt in 3d.
vielleicht gibts utility funktionen von deinem 3d paket (DirectX?)
-
thx ich werds versuchen