J'ai codé ma première figure avec Asymptote en 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 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 :
Malheureusement les commandes Comment peut-on colorier les faces du dé sans avoir de scintillement ? Le fichier Asymptote, d'extension Ouvrir dans l'éditeur Overleaf
|
Trois solutions ont été données sur le forum mathematex dédié à Asymptote par les modérateurs Première solution de OG : C'est normal (réponse facile). En effet les disques sont exactement sur la surface des faces, aucun des objets n'est positionné au dessus/au dessous... Solution 1 : décaler de Voici le code : Ouvrir dans l'éditeur Overleaf
Deuxième solution par rebouxo : La source des scintillements vient que tu as des objets plans l'un sur l'autre. Il suffit de décaler les cercles légèrement du cube pour que le scintillement disparaisse, j'ai décalé de h. Je propose ceci comme code : Ouvrir dans l'éditeur Overleaf
La principale différence est d'utiliser systématiquement les objets 3d, plutôt que de gérer des objets plans, pour les plaquer sur le dés. Plutôt une histoire de goût, mais je soupçonne que ta méthode soit plus efficace, si il y a beaucoup d'objets. Comme je ne peux pas concaténer des surface (dommage) j'ai fait des tableaux de surface (un pour chaque face) et un tableau de ces tableaux, pour éviter des copier-coller. Il manque des choses dans asymptote : faire des trous, des chanfreins, bref toutes choses utile pour la CAO. Troisième solution par OG (moins facile) : dessiner réellement chaque face comme le carré privé des disques : Asymptote peut transformer un contour 2D en une surface 3D.
C'est ce qui est fait pour les étiquettes en 3D : Il faut donc construire chaque face trouée et là plus besoin du décalage de Voici le code : Ouvrir dans l'éditeur Overleaf
|
La question vient d'être résolue en français sur le forum mathematex et en anglais sur tex.stackexchange
Pourriez-vous indiquer la solution ici pour ne pas générer des questions sans réponse apparente ?
Je veux bien mais comme ce ne sont pas mes réponses, je vais demander d'abord à leurs auteurs de bien vouloir répondre ici (car il y a deux solutions).