label en couleur en 2D mais pas en 3D ?

Règles du forum
ATTENTION ! Il est demandé de ne déposer dans ce forum que des exemples en langage Asymptote
  • finalisés
  • que l'on pense intéressants et optimisés
  • et qui se rapportent au thème du forum.
Si certains exemples déposés donnent lieu à de nombreuses modifications, ils seront déplacés et remplacés par un nouveau sujet dans ce forum avec la ou les meilleures propositions.
Pour les demandes d'aide ... il y a un forum spécifique !
cdeuss
Messages : 3
Enregistré le : jeu. 1 oct. 2020, 23:13

label en couleur en 2D mais pas en 3D ?

Message non lu par cdeuss » jeu. 22 févr. 2024, 09:11

En 2D tout marche bien :

Code : Tout sélectionner

import fontsize;

unitsize(50);
defaultpen(fontsize(20pt)+3);

usepackage("xcolor");

dot((0, 1), 2bp + red);
label("$(a + b)^3 = \mathcolor[RGB]{237, 128, 4}{a^3} + \mathcolor[RGB]{0, 112, 192}{3a^2b} + \mathcolor[RGB]{84, 178, 68}{3ab^2} + \mathcolor[RGB]{249, 61, 95}{b^3}$", (0, 0));
Je ne comprends pas pourquoi le même code en 3D ne marche pas :

Code : Tout sélectionner

import three;
import fontsize;

unitsize(50);
defaultpen(fontsize(20pt)+3);

usepackage("xcolor");

dot((0, 1, 0), 2bp + red);
label("$(a + b)^3 = \mathcolor[RGB]{237, 128, 4}{a^3} + \mathcolor[RGB]{0, 112, 192}{3a^2b} + \mathcolor[RGB]{84, 178, 68}{3ab^2} + \mathcolor[RGB]{249, 61, 95}{b^3}$", (0, 0, 0));
Des idées ?

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: label en couleur en 2D mais pas en 3D ?

Message non lu par GM » mar. 27 févr. 2024, 18:10

Bonjour,

Je sais qu'en 2D, demander l'affichage d'un texte au point (0,0) est possible car il y a une orientation par défaut du repère.

Mais, en 3D, il y a une infinité de plans qui passent par le point (0,0,0) donc il ne faudrait pas être surpris qu'il faille préciser dans quel plan, on veut le texte, et dire sous quel angle on veut voir les choses.

Je rappelle l'existence de cette rubrique : https://asy.marris.fr/asymptote/Textes_3D/index.html... même si le premier exemple (bizarre) donne à penser qu'il y aurait besoin d'une mise à jour.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: label en couleur en 2D mais pas en 3D ?

Message non lu par GM » mar. 27 févr. 2024, 18:37

N'y a t-il pas que mathcolor qui ne fonctionne pas ?

Même en ayant recours à draw et extrude, je ne pense pas qu'utiliser la couleur tel que c'est fait avec mathcolor dans la chaine fonctionnera en 3D
car en 3D chaque lettre est converti en une surface ou un ensemble de surfaces.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

cdeuss
Messages : 3
Enregistré le : jeu. 1 oct. 2020, 23:13

Re: label en couleur en 2D mais pas en 3D ?

Message non lu par cdeuss » mer. 28 févr. 2024, 09:11

Bonjour,
D'après John Bowman, TeX est un programme 2D. Asymptote transforme la fonte en 3D et donc il faut utiliser un pen Asymptote. Par contre je ne vois pas trop comment faire pour avoir plusieurs couleurs avec un pen ?

De plus lorsqu'on importe le module three, il y a une projection par défaut et le label est transformé pour qu'il fasse face à la caméra.

Merci pour vos réponses et bonne journée à tous.

Cyrille

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: label en couleur en 2D mais pas en 3D ?

Message non lu par GM » mer. 28 févr. 2024, 17:21

Pour la transformation de la fonte en assemblage de surfaces, c'est ce que je disais.

Je ne vois pas de solutions simples à part du bricolage de ce genre

Code : Tout sélectionner

import three;
import fontsize;

currentprojection=perspective(0,-100,150);

unitsize(50);
defaultpen(fontsize(20pt)+3);

usepackage("xcolor");

draw(extrude("$(a + c)^3 = $",Z),black);
draw(shift(55,0,0)*extrude("$a^3$",Z),red);
draw(shift(75,0,0)*extrude("$+$",Z));
draw(shift(105,0,0)*extrude("$3a^2b$",Z),blue);
... mais cela va être pénible pour trouver :
  1. la valeur à donner aux x dans les shift pour l'espacement entre les "mots" ;
  2. la valeur à modifier parfois pour le y s'il y un problème d'alignement vertical.
J'ai hésité à présenter cela tellement c'est du bricolage mais comme je n'ai rien d'autre à proposer sur le moment...
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

cdeuss
Messages : 3
Enregistré le : jeu. 1 oct. 2020, 23:13

Re: label en couleur en 2D mais pas en 3D ?

Message non lu par cdeuss » ven. 1 mars 2024, 15:53

J'ai essayé plusieurs choses :
-- Décomposer le label en plusieurs parties de couleurs différentes et les placer au bon endroit. Mais déjà même en 2D c'est déjà le bazar alors en 3D n'en parlons pas. J'ai bricolé trois minutes et ai courageusement abandonné.
-- Faire le label en 2D et insérer l'eps 2D obtenu dans l'eps 3D. Pas réussi à insérer l'eps.

Répondre