De manière générale, un vecteur Normal représente la direction pointant directement "sortie" d'une surface, ce qui signifie qu'il est orthogonal (à un angle de 90 degrés) avec tout vecteur coplanaire avec (dans le cas d'une surface plane) ou tangent à (dans le cas d'une surface non plane) la surface en un point donné.
Un vecteur tangent est généralement considéré comme un vecteur qui existe dans le plan de la surface (pour une surface plane) ou qui est tangent à un point de référence d'une surface courbe (c'est-à-dire si un plan plat a été construit avec la même normale à partir du point de référence , le vecteur tangent serait coplanaire avec ce plan).
Le concept de vecteur binormal est un peu plus complexe. en infographie, il s'agit généralement d'un vecteur Bitangent (référence ici ), qui est en réalité le "autre" vecteur tangent de la surface, qui est orthogonal au vecteur Normal et au vecteur Tangent choisi.
En ce qui concerne leur calcul, cela varie en fonction de la complexité de la surface et du degré de précision souhaité (dans certains cas, comme avec les shaders lisses, il est plus souhaitable de calculer une normale pour une surface approximée, lorsque l’information réelle pour une surface n’est pas présente), mais il existe plusieurs formules généralisées données ici .
Pour ce qui est de l'endroit où ils se produisent, la réponse est partout . Les vecteurs normaux sont utilisés pour positionner les caméras et les objets dans l’espace 3D, pour déterminer les trajectoires, les réflexions et les angles dans les calculs physiques, pour mapper les apparences et les textures sur des modèles 3D, pour déterminer les décalages de trajectoire de visée dans la programmation de l’intelligence artificielle, pour éclairer, ombrer et colorer des points sur une surface par rapport aux lumières, à la caméra, à d'autres objets, etc. C’est peut-être l’une des informations les plus utiles à disposer dans un environnement 3D, et ils sont même extrêmement utiles en 2D.