1. Du ray tracing pour imprimante !
Nous repartons donc du programme de la dernière fois, tout juste décompacté. Pour ceux qui auraient raté l'épisode précédent, le programme en question produit l'image de la figure 1, alors qu'il s'agit d'un fichier PostScript assez court.
Fig. 1 : Le résultat de l'exécution du programme du jour
1.1 Version initiale
Vous pouvez retrouver ce script sur la page http://forma3dev.fr/vieux-barbu/.
/z{ v 4 Q X { 9 3 roll 9 copy x Y Q O Z o m Q a l x add 2 div } }
/O{ v moveto Y a 4 3 mul 6 roll 9 3 roll moveto Y v x 2 mul c a }
/D{ c j add n j add n j j add 3 o }
/v{ 6 copy }
/X{ 5 5 add copy x moveto 1 neg D 7 copy j Y x dup dup mul 6 2 roll m
x neg n dup mul add add dup 0 gt
{ 1 2 div exp neg add dup } { } ifelse
0 gt { D 1 }{ x moveto 0 } ifelse 0 gt }
/l{ 5 4 4 mul neg 2 copy c 9 6 roll a }
/m{ 3 copy }
/F{ { v G o G add n neg dup 0 gt { div D m l v G o add 8 div floor n
6 div floor add 2 div dup neg floor
add 1 add mul 7 o v 7 U k 7 o 4...
