Esempio:

Riprendiamo l'esempio in 4.4: consideriamo la proiezione prospettica sul piano z = 0 dal punto (1,5,3), con il sistema di coordinate del piano di vista avente origine O[1] = (1, 2, 0) , direzione del primo asse (3,4,0) e direzione del secondo asse (-4,3,0) .

Siano rispettivamente (-3,-3) e (3,2) gli angoli inferiore sinistro e superiore destro della finestra nel piano di vista, e siano (500,400) e (980,700) gli angoli della finestra sul dispositivo grafico (ad esempio, uno schermo con risoluzione 1280x1024). La matrice D è il prodotto

D = T(3,3)*S((980-500)/(3-(-3)),(700-400)/(2-(-3)))...

> d := evalm(T(3,3)&*S((980-500)/(3-(-3)),(700-400)/(2-(-3)))&*T(500,400));

d := matrix([[80, 0, 0], [0, 60, 0], [740, 580, 1]]...

> t:=trasforma(t2d,d); applichiamo la trasformazione al tetraedro t0 proiettato (cf. 4.2 e 4.4)

t := matrix([[564, 556], [612, 508], [628, 592], [3...

> plots[display](tetraedro(t),scaling=CONSTRAINED,view=[500..980,400..700],axes=BOXED);

[Maple Plot]

> Vp:=evalm(MP([0,0,1,0],[1,5,3,1])&*Kd([1,2,0],[3,4,0],[-4,3,0])&*d); questa è la matrice complessiva che rappresenta la 'viewing pipeline'

Vp := matrix([[-144, 144, 0], [-192, -108, 0], [932...

> trasforma(t0,Vp);

matrix([[564, 556], [612, 508], [628, 592], [380, 4...

> c:=trasforma(c0,Vp): la 'viewing pipeline' applicata al cubo unitario c0

> plots[display](box(c),scaling=CONSTRAINED,view=[500..980,400..700],axes=BOXED);

[Maple Plot]

>