Weiß jemand, warum Specular Reflection als Reflexion definiert = 2 (Normal Hell.) Normal - Licht wo normal die Normale der Ebene ist und Licht ist das Normalisieren Vektor von der Lichtquelle?Frage zum Specular Reflection
Antwort
Um einen Vektor zu reflektieren, müssen Sie die Komponente des Vektors umkehren, die auf einer bestimmten Achse liegt. Um beispielsweise einen Vektor außerhalb der X-Achse zu spiegeln, könnten Sie einfach das Vorzeichen der y-Komponente umkehren. Eine andere Möglichkeit, dies zu betrachten, ist, die y-Komponente mit einem Faktor von -1 zu multiplizieren. Eine weitere Möglichkeit, dieses Ziel zu erreichen, besteht darin, die y-Komponente von sich selbst zu subtrahieren. Diese letzte Variante wird in der Formel Ihrer Website verwendet.
Wir wollen ein paar Vielfache der Oberflächennormalen von unserem Richtungsvektor subtrahieren. Der Ausdruck (Normal.Light) gibt Ihnen die Komponente des Lichtvektors, die entlang der Normalen liegt (ähnlich der y-Komponente im obigen Beispiel). Wir brauchen dann die doppelte Menge (also die 2) und wir wollen den Vektor in Richtung der Normalen ändern, so dass die Zahl mit der Normalen multipliziert werden muss. Sie scheinen die Bedingungen um das Minus herum getauscht zu haben.
Es ist vielleicht eine Folge der allgemeinen Reflexion hier beschrieben:
)
Sie müssen wahrscheinlich ein wenig Vektorgeometrie oder der linearen Algebra wissen, warum, obwohl zu verstehen.
danke für deine Antwort @phkahler, die Formel ist eigentlich in der hier @ http://en.wikipedia.org/wiki/Specular_reflection gegeben. Ich denke, sollte stimmen. Ich denke, ich kann verstehen, was du sagen willst. Der Vektor der Reflexion ist Normal - Licht. Jedoch verstehe ich nicht wirklich den Teil, wo wir das normale und das helle Licht erzeugen müssen. und warum die Notwendigkeit, mit 2 multiplizieren. – Yijinsei
Er erklärte es, wenn Sie näher lesen. Das Skalarprodukt ist die Projektion des Lichtvektors auf die Normale, und Sie benötigen das Doppelte, um den reflektierten Vektor zu erhalten. –
Danke für die Erleuchtung = x, aber ich konnte das Konzept des Punktprodukts nicht wirklich erfassen ist das Projekt des Lichtvektors auf das normale obwohl .. – Yijinsei