Pour calculer la nouvelle teinte de la face, connaissant sa couleur en « pleine lumière », nous utilisons le
cosinus de l'angle entre le faisceau et la normale. En effet, si une quantité de lumière
vient frapper
orthogonalement une longueur
,
on suppose que l'intensité lumineuse a pour valeur
.
Alors, si la
même quantité
vient frapper une longueur
,
l'intensité sera
.
Or, comme le montre la
FIGURE 5,
.
Pour obtenir alors la nouvelle couleur, on multiplie la couleur
initiale par le cosinus de l'angle entre le faisceau et la normale à la face que l'on extrait du produit
scalaire entre ces deux vecteurs. On modifie alors la fonction
select
(cf. PROGRAMME 10)
pour qu'elle calcule les nouvelles couleurs, ainsi que le produit scalaire que l'on « normalise ».