Problème de rectangle noir (Sierpinski en 3D)

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Problème de rectangle noir (Sierpinski en 3D)

Messagepar Achille » Dimanche 19 Décembre 2010, 18:56

Bonjour,

Je suis très habitué à PSTricks, mais viens de découvrir Asymptote, qui me fait une bonne première impression.

J'ai décidé tout de suite d'essayer des choses compliquées, c'est-à-dire que je n'arrive pas à faire avec PSTricks. En l'occurrence, j'essaie d'obtenir un tétraèdre de Sierpinski. Voilà mon code:

5b1c476eac1d0d7efcd179f89b89f681.png

Code: Tout sélectionner
import three;
unitsize(10cm);
currentprojection=perspective(6,4,3);
triple A,B,C,D;
guide triangle=polygon(3);
A=(1,0,0);
B=(cos(2*pi/3),sin(2*pi/3),0);
C=(cos(4*pi/3),sin(4*pi/3),0);
D=(0,0,sqrt(3)/2);
int n=4;

void Sierpinski(int n, triple A, triple B, triple C, triple D) {

triple P,Q,R,S;

if (n==0) {
draw(surface(A--B--C--cycle),paleblue+opacity(0.5));
draw(surface(A--B--D--cycle),paleblue+opacity(0.5));
draw(surface(B--C--D--cycle),paleblue+opacity(0.5));
draw(surface(A--C--D--cycle),paleblue+opacity(0.5));
return;
}

transform3 ta=shift(A)*scale3(1/2)*shift(-A);
transform3 tb=shift((1/2)*(B-A))*shift(A)*scale3(1/2)*shift(-A);
transform3 tc=shift((1/2)*(C-A))*shift(A)*scale3(1/2)*shift(-A);
transform3 td=shift((1/2)*(D-A))*shift(A)*scale3(1/2)*shift(-A);

P=ta*A;
Q=ta*B;
R=ta*C;
S=ta*D;
Sierpinski(n-1,P,Q,R,S);

P=tb*A;
Q=tb*B;
R=tb*C;
S=tb*D;
Sierpinski(n-1,P,Q,R,S);

P=tc*A;
Q=tc*B;
R=tc*C;
S=tc*D;
Sierpinski(n-1,P,Q,R,S);

P=td*A;
Q=td*B;
R=td*C;
S=td*D;
Sierpinski(n-1,P,Q,R,S);

return;

}

Sierpinski(n,A,B,C,D);


Ça marche relativement bien. Le problème est que j'obtiens un rectangle noir parasite dont j'aimerais bien me débarrasser!

Merci pour votre aide!

Achille
Achille
Déca-utilisateur
 
Messages: 12
Inscription: Lundi 25 Juin 2007, 06:29

Publicité

Re: Problème de rectangle noir (Sierpinski en 3D)

Messagepar OG » Dimanche 19 Décembre 2010, 19:07

Bonsoir


Où est le rectangle noir ?
N'est pas plutôt liée aux histoires de pilotes de cartes graphiques
et d'OpenGL ?
asy -V te donne-t-il un rectange noir ?
OS ?

O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Problème de rectangle noir (Sierpinski en 3D)

Messagepar Achille » Dimanche 19 Décembre 2010, 19:26

Je suis justement surpris de voir que le code ne pose aucun problème sur le forum!

J'utilise Ubuntu 10.10 et ai upgradé à asymptote 2.08, mais ça ne change rien.

Est-ce ghostscript qui pose problème?

Sinon, j'ai une carte NVidia avec les pilotes propriétaires.

asy -V ne change rien malheureusement.
Achille
Déca-utilisateur
 
Messages: 12
Inscription: Lundi 25 Juin 2007, 06:29

Re: Problème de rectangle noir (Sierpinski en 3D)

Messagepar chellier » Dimanche 19 Décembre 2010, 20:53

Achille a écrit:asy -V ne change rien malheureusement.

Bonsoir, c'est curieux... Est-que qu'en compilant avec asy -V, comme l'a suggéré OG, une fenêtre s'ouvre toute seule dans laquelle la figure est manipulable ?

Sinon, avec quelles options compiles-tu le code asymptote ?

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Re: Problème de rectangle noir (Sierpinski en 3D)

Messagepar Achille » Dimanche 19 Décembre 2010, 21:18

Désolé, finalement avec asy -V j'ai obtenu une image correcte.

Le problème est que j'utilise mon code dans LaTeX avec l'environnement \begin{asy} \end{asy} et que le problème demeure.

Que puis-je y faire?
Achille
Déca-utilisateur
 
Messages: 12
Inscription: Lundi 25 Juin 2007, 06:29

Re: Problème de rectangle noir (Sierpinski en 3D)

Messagepar Achille » Dimanche 19 Décembre 2010, 21:24

Sacrément bien fait ce forum! Ça m'a automatiquement envoyé sur un autre post m'offrant la solution:

asy -glOptions=-indirect

et c'est tout bon!

Merci beaucoup pour votre aide rapide!
Achille
Déca-utilisateur
 
Messages: 12
Inscription: Lundi 25 Juin 2007, 06:29

Re: Problème de rectangle noir (Sierpinski en 3D)

Messagepar OG » Dimanche 19 Décembre 2010, 21:28

Achille a écrit:Sacrément bien fait ce forum! Ça m'a automatiquement envoyé sur un autre post m'offrant la solution:

asy -glOptions=-indirect

et c'est tout bon!

Merci beaucoup pour votre aide rapide!


J'allais en venir à glOptions, mais comme tu sais te servir de la fonction "rechercher" tu
as trouvé tout seul : bravo !
C'est un pb classique (expliqué plusieurs fois ici et ailleurs) et même documenté
dans la doc officielle (mais en langue anglaise).

bon asymptote
O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Problème de rectangle noir (Sierpinski en 3D)

Messagepar chellier » Dimanche 19 Décembre 2010, 21:29

Achille a écrit:Sacrément bien fait ce forum! Ça m'a automatiquement envoyé sur un autre post m'offrant la solution:

asy -glOptions=-indirect

et c'est tout bon!

Merci beaucoup pour votre aide rapide!

Tant mieux que ça fonctionne, mais c'est assez aléatoire en fait... Si le problème se reproduit tu peux aussi essayer :
1/ de rajouter :
Code: Tout sélectionner
settings.render=4;

dans le code, puis augmenter la valeur si ça ne fonctionne pas, mais attention, à la taille du fichier final !
2/ laisser settings.render=4; mais tenter plusieurs compilations de suite (c'est ce que je fais, mais parfois il me faut une dizaine de compilations avant de réussir, voire de réessayer le lendemain :shock: )

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: MSN [Bot] et 7 invités