perspective
Principe
Par défaut les bases de données (supposées définies en 3D dans le repère absolu) sont mises en
perspective par la méthode classique de la perspective linéaire
par projection conique des points 3D sur le plan du tableau, le sommet du cone est l´oeil
qui regarde vers le point de vue , avec une certaine focale
et un certain roulis.
La perspective cylindrique, une perspective
courbe,
la perspective procédurale et la perspective
adaptative sont accessibles en temps réel.
pers
pers
Retourne le type de la perspective.
pers(p)
Active la perspective de type :
p=0: cylindrique (cavalière ou normal).
p=1: conique (par défaut).
p=2: courbe.
p<0: procédurale.
pers(x1,y1,z1,x2,y2,z2,...)
Retourne la projection perspective de la ligne polygonale 3D de sommets
(x1,y1,z1), (x2,y2,z2), ...
Exemples:
1) pers 100,200,300: Retourne la perspective du point de coordonnées
absolues 100,200,300
2) pers(CG vol 1): Retourne la perspective du center de gravité du
volume num
3) pers(CG(poi[1,4] vol 1)): Retourne la perspective du center de
gravité des points 1,2,3 et 4 du volume num
pers abs
pers abs view(id)
Retourne la matrice de passage du repère de la perspective au repère absolu
de la view(id)..
Perspective cylindrique
pers(0)
ou no pers
Active la perspective cylindrique (ou encore normal ou cavalière).
pers normal
pers normal
En no pers, retourne les 9 paramètres (xo,yo,zo, xc,yc,zc, xup,yup,zup)
définissant la transformation gluLookAt d´OpenGL.
xo,yo,zo = position de l´oeil.
xc,yc,zc = position du point de référence.
xup,yup,zup = direction du vecteur up.
pers normal(xo,yo,zo, xc,yc,zc, xup,yup,zup)
Modifie ces paramètres.
Perspective conique
pers(0)
ou no pers
Active la perspective conique (par défaut).
Perspective courbe
pers(2)
Active la perspective courbe: les rayons lumineux ne sont plus des droites mais par des arcs de cercles
passant par l´oeil, la fuite et le point à mettre en perspective.
Remarque: cette perspective est calculée dans le bloc poi à partir du bloc poi validate,
c´est pourquoi il est nécessaire de faire validate(1)poi vol(id) chaque fois que la géométrie
du volume id est changée, et validate(-1)poi vol(id) au sortir de ce mode de perspective.
Perspective procédurale
pers(p<0)
Active la perspective procédurale exécutée par la fonction pers_utilisateur() du fichier
utilb.c
pers screen
pers screen view(id)
Retourne la matrce de passage du repè de la perspective au repè de l´écran
de la view(id).
Perspective adaptative
En définissant des fonctions locales sur une vue, si yes local
et si si yes view sont actifs, ces fonctions constituent un programme encapsulé
dans la vue et qui sera exécuté à chaque invocation de cette vue.
Voir un exemple dans la fonction VIEW() du fichier demo1_local.func
Voir aussi: