PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rotation eines Vektors um einen anderen


nobody
09.02.2004, 16:51
Hi,

ich habe ein Problem aus der Computergrafik und hoffe dennoch, dass ihr mich versteht. Es geht auch um Vektormathematik - versprochen ;)

Ich möchte einen unnormalisierten Vektor V um eine Normale N rotieren. Ich habe eine Funktion, mit der man dies machen kann, aber nur wenn wirklich BEIDE Vektoren normalisiert sind.

R = 2*N*dot(N,V) - V,
wobei dot() das Skalarprodukt ausrechnet.

Wie gesagt, dies funktioniert nur bei 2 normalisierten Vektoren. Aber wie mache ich das, wenn nur die Normale normalisiert ist, V aber nciht?? Und ich kann V nicht normalisieren, da ich den Vektor unnormalisiert brauche. Kann mir da jemand helfen?? :(

Evariste
09.02.2004, 20:10
Hi,
deine Formel ist linear in V, was sie auch sein sollte. Also funktioniert sie auch für V nicht normiert!! wer hat Dir erzählt, dass das nur funktioniert wenn V normiert?
Bei der Rotation um eine Achse durch Null handelt es sich um eine orthogonale Abbildung und die ist natürlich insbesondere linear.
Deine Abbildung ist eine Drehung um die Achse aufgesapnnt von N um 180°.

Gruß,
Evariste

nobody
10.02.2004, 09:02
Hi,

dankeschön. Habe das in einem Buch über Computergrafik gelesen. Aber anscheinen habe ich es falsch verstanden. Aber dankeschön!