Pour faire les calculs de construction d'une image, il va falloir
représenter et manipuler des objets en 3d. En général, on
représente la surface des objets avec des points 3d posés dans un
repère 3d et des triangles, ou d'autres formes simples comme des
sphères ou des cubes.
un point avec 3 coordonnées \( (x, y, z) \) décrit une position
dans l'espace (on suppose qu'il y a un repère avec une origine et
3 axes, sinon les coordonnées ne représentent pas grand chose).
un vecteur avec 3 coordonnées \( (x, y, z) \) décrit une
direction dans l'espace (dans le même repère que les points...),
ou la différence entre 2 points, on peut écrire \( \vec{v}= b - a
\), ie comment passer du point a au point b, on peut aussi écrire
\( \vec{ab}= b - a \).

conséquence, on peut aussi écrire : \( a + \vec{v} = b\), et \( a=
b - \vec{v} \) c'est la méme chose qu'avec des nombres :
si \( d= y - x \) alors \( y= x + d \), et aussi \( x= y - d \) !

On peut calculer les coordonnées du vecteur en fonction des
coordonnées des points :
\[
\left( v_x= b_x - a_x, v_y= b_y -
a_y, v_z= b_z - a_z \right)
\]
Le produit scalaire de 2 vecteurs permet de projetter un vecteur
sur l'autre, ie d'obtenir sa longueur en fonction de la longueur
de l'autre. on note le produit scalaire de \( \vec{u} \) et \(
\vec{v} \) avec l'operateur point : \( \vec{u} \cdot \vec{v}
\)

on peut le calculer en fonction des coordonnées des vecteurs :
\[
\vec{u} \cdot \vec{v}= u_xv_x + u_yv_y + u_zv_z
\]
ou, en fonction de la longueur des vecteurs et du cosinus de leur
angle, noté \( \theta \) :
\[
\vec{u} \cdot \vec{v}= \lVert \vec{u}
\rVert \lVert \vec{v} \rVert \cos \theta
\]
on peut même calculer la longueur d'un vecteur ou la distance
entre l'origine et l'extrémité du vecteur : \( \lVert \vec{v}
\rVert ^2 = \vec{v} \cdot \vec{v} = v_x^2 + v_y^2 + v_z^2 \)
ou \( \lVert \vec{v} \rVert = \sqrt{ \vec{v} \cdot \vec{v} } =
\sqrt{ v_x^2 + v_y^2 + v_z^2 } \)
on peut utiliser le produit scalaire pour projetter un vecteur
sur les axes d'un repère \( (\vec{X}, \vec{Y}, \vec{Z}) \) et
calculer ses coordonnées dans le repère :
\[
\left( v_x= \vec{v} \cdot \vec{X}, v_y= \vec{v}
\cdot \vec{Y}, v_z= \vec{v} \cdot \vec{Z} \right)
\]

à finir...
en attendant, vous pouvez consulter la page qui décrit comment
calculer l'intersection d'un rayon et d'un triangle, ce test
utilise plusieurs propriétés du produit vectoriel de 2 vecteurs.