projection3D

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
Francky
Messages : 40
Enregistré le : sam. 10 avr. 2010, 22:15
Localisation : Sud-Drôme

projection3D

Message non lu par Francky » lun. 5 juil. 2010, 20:59

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);

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: projection3D

Message non lu par chellier » lun. 5 juil. 2010, 21:21

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

Francky
Messages : 40
Enregistré le : sam. 10 avr. 2010, 22:15
Localisation : Sud-Drôme

Re: projection3D

Message non lu par Francky » lun. 5 juil. 2010, 22:16

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é.

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: projection3D

Message non lu par chellier » lun. 5 juil. 2010, 22:48

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

Répondre