view
view(id)
Creates view id.
Options:
foc(f): focale f (1 default).
aim(xa,ya,za): aim point (xa,ya,za) (0,0,0 default).
axis(dx,dy,dz): direction (dx,dy,dz) (0,1,0 default).
view(v1,v2,...,vn)image(i1,i2,...,in): view type image.
eye(xo,yo,zo): eye in (xo,yo,zo) (0,0,-896 default).
roll(r): roll r (0 default).
vol(v): volume is placed in perspective by vue id.
To change this view use functions:
aim view(id)=xa,ya,za;
axis view(id)=dx,dy,dz;
eye view(id)=xo,yo,zo;
foc view(id)=f;
roll view(id)=r;
type view(id)="aim"" or "axis"
vol view(id)=v1,v2,...;
Note: without option all parameters are set to their default values in file
komb.h.
Adaptative view
local view
Command local(0)view(id)="LOC" encapsule in view id
a local compilation of function LOC(). It is possible to encode in this function
fonction the refinition (for each image) of the parameters (eye, aim, axis, foc, roll) of the view id
depending on the scene and other views.
DEVELOPING
En mode displ=2
on peut read et écrire les matrices de mise en perspective de la vue num par:
w=abs eye view(num) ou abs eye view(num)=w, de meme:
eye pers view(num)
abs pers view(num)
eye pers view(num)
pers abs view(num)
On peut aussi écrire des fonctions de passage d´un référentiel à un autre:
abs eye view(num)="name d´une fonction", de meme:
eye pers view(num)
pers screen view(num)
screen abs view(num)
pers abe view(num)
Exemple: abs eye view(1)="toto"
Vues multiples
vol view(id1)=id2;
associates the view
id1 to the volume id2.
view write
view(id)dim(n)write("n1;n2;...nn*n)
Construit la vue id de type write.
La scène 3D est affichée dans un écran virtuel de dimensions (n*n) fois celles de l´écran réel
selon n*n viewports de dimensions celles de l´écran réel et déplacés de +-(i,j)*(dx,dy)/n.
Chacune des fi (1<=i<=n*n) fenêtres virtuelles est garée dans le
fichier ni.
Remarques:
1) Par défaut n=2.
et il doit y avoir exactement n*n noms de fichiers images dont le name comporte l´extension.
2) Une application importante de cette méthode est le calcul d´images en très hautes définitions.
Il conviendra de concaténer convenablement les fichiers n1;n2;...nn*n
pour en faire une seule image de très grandes dimensions par la commande
image(id1,id2,...)image(id0)secx(nx)secy(ny).
Exemple:
view(1)dim(2)write("A.bmp;B.bmp;C.bmp;D.bmp);
L´image (de définition 4 fois celle de l´écran) est garée dans les 4 fichiers
A.bmp B.bmp C.bmp D.bmp.
Transformation
L´eye et la direction de visée d´une vue peuvent être tournés et dilatés, see:
rotx eye aim view
roty eye aim view
rotz eye aim view
dilx eye aim view
dily eye aim view
dilz eye aim view
See also: