Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 13
mineure

14 Aoû '17, 12:18

Pathe's gravatar image

Pathe
7.6k49210252

[Asymptote 3D] supprimer le scintillement des points d'un dé à jouer ?jouer ?

J'ai codé ma première figure avec Asymptote en 3D qui est un 3D. Il s'agit d'un dé à jouer avec des faces numérotées par un à six points représentant les nombres 1 à 6 de façon classique. Ce dé est manipulable avec la souris. Lorsqu'on manipule le dé, les disques représentant les points scintillent en créant des artefacts indésirables, ce qui pose problème. Lorsque je commente l'instruction `draw(scale3(84a)*unitcube, surfacepen=white);` qui colorie les faces du cube en blanc, les disques ne scintillent plus du tout et le **dé devient transparent**. J'en conclus donc que le problème vient de la surimpression de la couleur bleue des disques sur la couleur blanche des faces. Une solution serait alors de colorier les faces en deux étapes comme on peut le faire avec Tikz : Tikz : - les faces sans les disques en blanc - les disques seuls en bleu Malheureusement les commandes `clip`, `fill`, `filldraw` fonctionnent uniquement en 2D et pas en 3D. **Comment peut-on colorier les faces du dé sans avoir de scintillement ?** scintillement ?** Le fichier Asymptote, d'extension `.asy` est le suivant, (*le code n'est pas optimisé de façon à être lisible*) : import three; currentprojection =orthographic((5,2,3)); currentlight=nolight; settings.tex="latex"; // Moteur LaTeX utilisé pour la compilation (latex, pdflatex, ...) settings.outformat="pdf"; // Format de sortie ; eps par défaut settings.prc=true; // Format PRC de la figure ; vrai par défaut settings.render=-1; // Rendu des figures ; -1 par défaut size(6cm,0); real a = 0.05; // definition des faces du dé en 2D comme un patron path carre = box ((0,0),(84a,84a)), disque = scale(9a)*unitcircle, patron1[] = shift(42a,42a)*disque, patron2[] = shift(14a,70a)*disque^^shift(70a,14a)*disque, patron3[] = shift(14a,70a)*disque^^shift(70a,14a)*disque^^shift(42a,42a)*disque, patron4[] = shift(14a,14a)*disque^^shift(14a,70a)*disque^^shift(70a,14a)*disque ^^shift(70a,70a)*disque, patron5[] = shift(14a,14a)*disque^^shift(14a,70a)*disque^^shift(70a,14a)*disque ^^shift(70a,70a)*disque^^shift(42a,42a)*disque, patron6[] = shift(14a,14a)*disque^^shift(14a,70a)*disque^^shift(70a,14a)*disque ^^shift(70a,70a)*disque^^shift(42a,70a)*disque^^shift(42a,14a)*disque; transform3 tX=shift(84a*X), tY=shift(84a*Y), tZ=shift(84a*Z); path3 facegauche[] =path3(patron6,ZXplane), facedroite[] =path3(patron1,ZXplane), faceavant[] =path3(patron2,YZplane), facearriere[] =path3(patron5,YZplane), facehaut[] =path3(patron4,XYplane), facebas[] =path3(patron3,XYplane); draw(scale3(84a)*unitcube, surfacepen=white); draw(box(O, 84a*(X+Y+Z)), gray); draw(surface(facegauche),blue); draw(surface(tY*facedroite),blue); draw(surface(tZ*facehaut),blue); draw(surface(facebas),blue); draw(surface(facearriere),blue); draw(surface(tX*faceavant),blue);
cliquez ici pour masquer/afficher la révision 12

14 Jul '17, 22:53

Andr%C3%A9C's gravatar image

AndréC
61131124

[Asymptote 3D] supprimer le scintillement des points d'un dé à jouer ?

J'ai codé ma première figure avec Asymptote en 3D qui est un dé à jouer avec des faces numérotées par un à six points représentant les nombres 1 à 6 de façon classique. Ce dé est manipulable avec la souris. Lorsqu'on manipule le dé, les disques représentant les points scintillent, scintillent en créant des artefacts indésirables, ce qui pose problème. Lorsque je commente l'instruction `draw(scale3(84a)*unitcube, surfacepen=white);` qui colorie les faces du cube en blanc, les disques ne scintillent plus du tout et le **dé devient transparent**. J'en conclus donc que le problème vient de la surimpression de la couleur bleue des disques sur la couleur blanche des faces. Une solution serait alors de colorier les faces en deux étapes comme on peut le faire avec Tikz : - les faces sans les disques en blanc - les disques seuls en bleu Malheureusement les commandes `clip`, `fill`, `filldraw` fonctionnent uniquement en 2D et pas en 3D. **Comment peut-on colorier les faces du dé sans avoir de scintillement ?** Le fichier Asymptote, d'extension `.asy` est le suivant, (*le code n'est pas optimisé de façon à être lisible*) : import three; currentprojection =orthographic((5,2,3)); currentlight=nolight; settings.tex="latex"; // Moteur LaTeX utilisé pour la compilation (latex, pdflatex, ...) settings.outformat="pdf"; // Format de sortie ; eps par défaut settings.prc=true; // Format PRC de la figure ; vrai par défaut settings.render=-1; // Rendu des figures ; -1 par défaut size(6cm,0); real a = 0.05; // definition des faces du dé en 2D comme un patron path carre = box ((0,0),(84a,84a)), disque = scale(9a)*unitcircle, patron1[] = shift(42a,42a)*disque, patron2[] = shift(14a,70a)*disque^^shift(70a,14a)*disque, patron3[] = shift(14a,70a)*disque^^shift(70a,14a)*disque^^shift(42a,42a)*disque, patron4[] = shift(14a,14a)*disque^^shift(14a,70a)*disque^^shift(70a,14a)*disque ^^shift(70a,70a)*disque, patron5[] = shift(14a,14a)*disque^^shift(14a,70a)*disque^^shift(70a,14a)*disque ^^shift(70a,70a)*disque^^shift(42a,42a)*disque, patron6[] = shift(14a,14a)*disque^^shift(14a,70a)*disque^^shift(70a,14a)*disque ^^shift(70a,70a)*disque^^shift(42a,70a)*disque^^shift(42a,14a)*disque; transform3 tX=shift(84a*X), tY=shift(84a*Y), tZ=shift(84a*Z); path3 facegauche[] =path3(patron6,ZXplane), facedroite[] =path3(patron1,ZXplane), faceavant[] =path3(patron2,YZplane), facearriere[] =path3(patron5,YZplane), facehaut[] =path3(patron4,XYplane), facebas[] =path3(patron3,XYplane); draw(scale3(84a)*unitcube, surfacepen=white); draw(box(O, 84a*(X+Y+Z)), gray); draw(surface(facegauche),blue); draw(surface(tY*facedroite),blue); draw(surface(tZ*facehaut),blue); draw(surface(facebas),blue); draw(surface(facearriere),blue); draw(surface(tX*faceavant),blue);
cliquez ici pour masquer/afficher la révision 11

14 Jul '17, 22:51

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 10
Amélioration du style

14 Jul '17, 22:50

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 9
Amélioration du style

10 Jul '17, 14:02

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 8
Amélioration du style

10 Jul '17, 12:55

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 7
Amélioration du style

10 Jul '17, 12:02

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 6
Orthographe corrigée

10 Jul '17, 12:01

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 5
Orthographe corrigée

10 Jul '17, 12:00

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 4

10 Jul '17, 11:57

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 3
Amélioration du style

10 Jul '17, 11:55

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 2
Amélioration du code

10 Jul '17, 11:49

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 1

10 Jul '17, 11:46

Andr%C3%A9C's gravatar image

AndréC
61131124