Le node vectormath permet de faire différentes opérations sur les vecteurs
Le produit scalaire de A et B
iLl ajuste la direction d'un vecteur pour s'assurer qu'il est orienté dans une direction cohérente par rapport à une surface ou une caméra. Cela est utile pour garantir qu'un vecteur, comme une normale, pointe "vers l'extérieur" ou dans une direction spécifiée.
Le nœud "Faceforward" prend trois vecteurs en entrée :
- N : le vecteur à ajuster (souvent une normale).
-
I : le vecteur directionnel de référence.
-
N ref : le vecteur qui détermine le sens attendu (souvent le vecteur de la caméra ou de la vue).
Oriente un vecteur A pour qu’il pointe loin d’une surface B telle que définie par sa normale C.
Il calcule la réfraction d’un vecteur I (vecteur incident) à travers une surface définie par un vecteur normal N, en tenant compte d'un indice de réfraction relatif (IOR, Index of Refraction).
R = A - 2*
Il calcule la réflexion d'un vecteur A par rapport à un autre vecteur B. La réflexion produit un vecteur R qui correspond au "rebond" de A sur un plan perpendiculaire à B.
il applique la fonction trigonométrique tangente à chaque composante du vecteur d'entrée. Cela calcule la tangente de chaque composante indépendamment.
il applique la fonction trigonométrique cosinus à chaque composante du vecteur d'entrée. Cela permet de calculer le cosinus de chaque valeur indépendamment.
Il applique la fonction trigonométrique sinus à chaque composante du vecteur d'entrée. Cela permet de calculer le sinus de chaque valeur indépendamment.
Arrondir la valeur d’entrée à l’entier supérieur le plus proche.
: la partie entière de la division x/m.
x : la valeur initiale
m: la période,
où mod(x,m)\text{mod}(x, m) mod(x, m) est défini comme :
où B\mathbf{B} B représente le modulus (période répétitive).
Le vecteur résultant R\mathbf{R} R est donné par :
Soit deux vecteur d'entrée A et B tel que:
Applique l'opération de modulo (ou reste de la division) à chaque composante d'un vecteur. Cette opération ramène les valeurs d'un vecteur à une plage répétitive définie par un second vecteur (ou une constante scalaire appliquée à toutes les composantes).
Le mode Wrap est souvent utilisé pour :
Créer des effets cycliques dans des shaders ou animations.
Confinement d'une valeur dans une plage donnée avec une continuité (par exemple, pour des motifs répétitifs ou des coordonnées texturales). Modélisation procédurale impliquant des cycles ou des répétitions basées sur des plages définies.
Chaque composante (xx, yy, zz) est traitée indépendamment pour s'assurer qu'elle respecte les bornes spécifiées.
Lorsque le nœud "Vector Math"est configuré sur "Wrap", il "enroule" chaque composante d'un vecteur dans une plage définie par des bornes minimum (min\text{min} min) et maximum (max\text{max} max). Cela signifie que si une composante dépasse les limites définies, elle est ramenée dans la plage via une opération cyclique.
Le mode Snap est utile pour :
Aligner des points ou coordonnées sur une grille définie par un incrément (pratique pour des motifs ou textures procédurales).
Simplifier des valeurs continues en les convertissant en multiples d'une certaine unité.
Créer des effets répétitifs ou géométriques en verrouillant les valeurs sur des positions fixes.
Lorsque le nœud "Vector Math" est configuré sur "Snap", il ajuste chaque composante d'un vecteur au multiple le plus proche d'un autre vecteur (ou scalaire) appelé increment. Cela revient à "verrouiller" les valeurs sur une grille définie par cet incrément.
Soit un vecteur d'entrée :A=(Ax,Ay,Az)
Le vecteur résultant R est donné par :R=(fract(Ax),fract(Ay),fract(Az)) où la fonction fractionnaire fract(x)\text{fract}(x) fract(x) est définie comme :
Dans Blender, lorsque le nœud "Vector Math" est configuré sur "Fraction", il renvoie le reste fractionnaire (ou partie décimale) de chaque composante d'un vecteur. Cela revient à soustraire la partie entière de chaque composante, laissant uniquement la partie après la virgule.
Arrondir la valeur d’entrée à l’entier inférieur le plus proche.
Lorsque le nœud "Vector Math" de Blender est configuré sur "Maximum", il renvoie un vecteur dont chaque composante est le maximum des composantes correspondantes de deux vecteurs donnés.
Lorsque le nœud "Vector Math" est configuré sur "Minimum", il renvoie un vecteur dont chaque composante est le minimum des composantes correspondantes de deux vecteurs donnés.
Le résultat de la normalisation de A. Le vecteur résultat pointe vers la même direction que A et a une longueur de 1. Si A est (0, 0, 0), le résultat est également (0, 0, 0).
Le résultat de la multiplication de A par l’échelle d’entrée Scale
=
Longueur de A soit la Norme de A
Projection de A sur B perpendiculairement
Soit le prosuit scalaire de A.B divisé par la Norme de B au carré le tout multiplié par B=.
Le vecteur résultant est perpendiculaire à A et B.
Exemple
Vector Math