2010-12-13 35 views
1

Quelqu'un sait-il pourquoi la réflexion spéculaire est définie comme réflexion = 2 (Normal Lumière.) Normal - Lumière où Normal est le normal de l'avion et Light est le vecteur de Normaliser de la source lumineuse?Question sur Specular Reflection

Répondre

2

Pour refléter un vecteur, vous devez inverser le composant de ce vecteur qui se trouve sur un axe particulier. Par exemple, pour refléter un vecteur hors de l'axe des x, vous pouvez simplement retourner le signe du composant y. Une autre façon de voir cela est de multiplier la composante y par un facteur -1. Encore une autre façon d'atteindre cet objectif est de soustraire deux fois la composante y de lui-même. Cette dernière variante est ce qui est utilisé dans la formule de votre site.

Nous voulons soustraire un multiple de la normale de surface de notre vecteur de direction. Le terme (Normal.Light) vous donne la composante du vecteur de lumière qui se trouve le long de la normale (similaire à la composante y dans l'exemple ci-dessus). Nous avons donc besoin de deux fois cette quantité (d'où le 2) et nous voulons changer le vecteur dans la direction de la normale, de sorte que ce nombre doit être multiplié par la normale. Vous semblez avoir échangé les conditions autour du moins.

+0

merci pour votre réponse @phkahler, la formule est actuellement donnée dans le ici @ http://en.wikipedia.org/wiki/Specular_reflection. Je suppose que cela devrait être correct. Je pense que je peux comprendre ce que vous voulez dire. Que le vecteur de la réflexion est Normal - Lumière. Cependant, je ne comprends pas vraiment la partie où nous devons Dot produit le normal et la lumière. et pourquoi le besoin de multiplier par 2. – Yijinsei

+0

Il l'a expliqué si vous lisez plus près. Le produit scalaire est la projection du vecteur lumineux sur la normale, et vous avez besoin de deux fois cela pour obtenir le vecteur réfléchi. –

+0

Merci pour l'illumination = x mais je ne pouvais pas vraiment saisir le concept de produit scalaire est le projet de vecteur de lumière sur la normale si .. – Yijinsei

0

Il est peut-être une conséquence de la réflexion générale décrit ici:

)

Vous avez probablement besoin de connaître une géométrie de vecteur binaire ou l'algèbre linéaire de comprendre pourquoi si.