hier zie je zo'n procedure in een programmeertaal (pascal) wat ik ooit heb gebruikt
om 3d figuren af te beelden op het 2d scherm en apart het beeld te berekenen voor linker en rechter oog.
voor elke 3d pixel in de ruimte moet je dus de betreffende pixel op het scherm berekenen.
eea staat niet in matrix vorm maar helemaal uitgeschreven;
procedure dried_tweed(var xp,yp,zp:real; var xpixell,xpixelr,ypixel:integer);
const br=31.8; {schermbreedte in cm}
ho=26.6; {schermhoogte in cm}
as=50; {afstand tot het scherm in cm}
oa=4; {oogafstand in cm}
horpixels=720; {hor aantal pixels}
vertpixels=348; {vert aantal pixels}
var xscherml,xschermr,yscherm:real;
begin
xschermr:=0.5*(br+oa)+as/(as+zp)*(xp-(0.5*(br+oa)));
xscherml:=0.5*(br-oa)+as/(as+zp)*(xp-(0.5*(br-oa)));
yscherm:=0.5*ho+as/(as+zp)*(yp-(0.5*ho));
xpixell:=round(xscherml*horpixels/br);
xpixelr:=round(xschermr*horpixels/br);
ypixel:=round(yscherm*vertpixels/ho);
end;