Page 1 sur 1

projection3D

Posté : lun. 5 juil. 2010, 20:59
par Francky
Pour la perspective cavalière, j'ai trouvé obliqueX, mais
je ne sais pas faire varier les paramètres.
Je tiens à avoir (AB) horizontale, mais pas avec (RP) superposée à (A'D').

Merci pour toute aide et remarque.
(C'est pour le sujet DNB-amérique du sud 2009)

Code : Tout sélectionner

settings.render=0;
settings.prc=false;
import solids;

size(7cm,0);
currentprojection=obliqueX;


real r=5;
triple pA=(r,-r,r),  pB=(r,r,r),  pBp=(-r,r,r),  pAp=(-r,-r,r),
       pD=(r,-r,-r), pC=(r,r,-r), pCp=(-r,r,-r), pDp=(-r,-r,-r),
       pR=(r,0,r), pM=(0,r,r), pP=(r,0,-r), pN=(0,r,-r);

draw(pA--pB--pBp--pAp--pA--pD--pC--pCp--pBp^^pB--pC,1bp+black);
draw(pD--pDp--pCp^^pDp--pAp, dashed);
draw(surface(pR--pM--pN--pP--pR--cycle),lightgrey+opacity(.5));
draw(pR--pM--pN--pP--pR--cycle);
label("$A$", pA, NW);
label("$B$", pB, NW);
label("$C$", pC, S);
label("$D$", pD, S);
label("$A'$", pAp, N);
label("$B'$", pBp, N);
label("$C'$", pCp, E);
label("$D'$", pDp, W);
label("$R$", pR, N);
label("$M$", pM, NW);
label("$N$", pN, SE);
label("$P$", pP, S);

Re: projection3D

Posté : lun. 5 juil. 2010, 21:21
par chellier
Bonjour,

Essaie avec :

Code : Tout sélectionner

currentprojection=obliqueX(60);

(par exemple)

Le paramètre fixe l'angle que fait la partie négative des abscisses avec l'horizontale sur le plan de projection.

Christophe

Re: projection3D

Posté : lun. 5 juil. 2010, 22:16
par Francky
Merci, j'ai pris 48, au lieu de 45 par défaut (semble-t-il),
et je me demande si on ne peut pas décaler aussi d'un autre côté.

Re: projection3D

Posté : lun. 5 juil. 2010, 22:48
par chellier
Francky a écrit :Merci, j'ai pris 48, au lieu de 45 par défaut (semble-t-il),
et je me demande si on ne peut pas décaler aussi d'un autre côté.


Pas avec obliqueX (enfin, je crois...). Tu peux essayer avec orthographic(x,y,z,up=Z) : tu places la caméra où tu veux pour avoir le "bon" point de vue.

Ou encore, sur linux avec gedit (sur windows, je sais pas :( ): compile avec l'option -V (en enlevant au préalable settings.render=0;). Là, une fenêtre va s'ouvrir où tu pourras bouger la figure et la mettre comme tu veux. Ensuite double clique droit dans cette fenêtre, choisis caméra et récupère dans la "Sortie du Shell" de gedit les paramètres de la caméra à copier coller dans ton code.

Christophe