Rotation eines Vektors um Normale, aber NICHT normalisiert
-
Hi,
ich habe eine Frage:
Aus dem Phong-Illumination-Modell kenne ich die Rotation des Lichtvektors um die Normale, um den Reflektionsvektor zu berechnen:
R = 2*N*dot(N,L) - L // so ganz grob in HLSL-Syntax)
Diese Formel geht, da BEIDE Vektoren normalisiert sind. Ich möchte allerdings einen Vektor um die Normale rotieren, der NICHT normalisiert ist. Ist halt kein Lichtvektor, sondern hat eine andere Verwendung.
Kann mir jemand verraten, wie ich das mache?? Dankeschön
-
Ich würde sagen, dass es nicht geht, weil sonst beim Skalarprodukt Zahlen > 1 oder < -1 rauskommen könnten und das Ergebnis irgendwie total verzogen werden würde (um es mathematisch mal korrekt auszudrücken)
-
Hi,
im Notfall Länge des Vektors speichern, normalisieren, rotieren, skalieren.
Ciao,
Stefan
-
hmm, ja, habe ich auch schon dran gedacht. ist aber nicht wirklich schön.
-
Das obige ist keine Rotation sondern eine Spiegelung (aka Reflektion). Also was genau willst du tun?
Bye, TGGC (Der Held ist zurück)
-
Upsi! Da hast Du allerdings recht. Ich will spiegeln, denke ich. Allerdings habe ich bereits rausgefunden, dass V nicht normalisiert sein muss. Allerdings habe ich das so im Foley gelesen. Naja, wie dem auch sei.