Labels en 3D (Embbed)

Tout ce qui concerne le langage Asymptote. Ce langage est utilisable sur le forum via les balises asy.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
cjorssen

Labels en 3D (Embbed)

Message non lu par cjorssen »

Bonjour à tous,

Je cherche à placer des labels en 3D, figés. Pour cela, j'utilise l'"interaction" Embedded (par opposition à Billboard par défaut). J'aimerais leur faire subir des rotations successives. Le problème c'est que je ne comprends pas bien où se trouve (dans quel plan) le label avant de lui faire subir les rotations.

Dans l'exemple suivant, j'aimerais que le label "r" soit dans le plan $(M,\vec{e_r},\vec{e_{\theta}})$ des coordonnées sphériques (du physicien). Intuitivement, je lui fais subir une rotation de phi autour de Z puis une rotation de theta autour de $\vec{e_{\varphi}}$. Mais cela ne fonctionne pas.
925439a0718a4e9f9df6c4e9bb447fc768c114fd.png
Si quelqu'un a mieux compris comme faire, je suis preneur.

Merci d'avance

--
Christophe
maurice
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 399
Inscription : jeudi 25 mars 2010, 13:49

Re: Labels en 3D (Embbed)

Message non lu par maurice »

Bonjour, je ne suis pas sûr d'avoir bien compris la question.

Peut-être avec plane project (doc officielle p 137, doc maurice p 31). J'ai essayé avec :

Code : Tout sélectionner

triple n=normal(plan_M_r_theta);

//transform3 pr=planeproject(n,pM);
transform3 pr=planeproject(plan_M_r_theta,n);
label(pr*rotate(phi,Z)*rotate(theta,vvEphi)*rotate(90,X)*"$r$",pM,figer_les_labels);
C'est bien un truc comme ça que tu veux obtenir ?
2ba8d587a0e03aa493f8d76f1a3a56b7701d6657.png
Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 399
Inscription : jeudi 25 mars 2010, 13:49

Re: Labels en 3D (Embbed)

Message non lu par maurice »

Bonjour,

Autre solution (peut être mieux ?) avec :

Code : Tout sélectionner

label(YZ*"r",(0,pM.y,pM.z),figer_les_labels);
label(rotate(-90,(pM.x,pM.y,0),pM)*rotate(90-phi,Z)*YZ*"$r$",pM, figer_les_labels);

Code : Tout sélectionner

transform3 YZ=rotate(90,O,Z)*rotate(90,O,X);
Il y a un léger décalage que je ne m'explique pas pour l'instant. Mais on progresse ou bien ?
8e1ef0443eeff93f4b6b8db1f15aa644c5b420b4.png
Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
cjorssen

Re: Labels en 3D (Embbed)

Message non lu par cjorssen »

maurice a écrit :Autre solution (peut être mieux ?) avec :

Code : Tout sélectionner

label(YZ*"r",(0,pM.y,pM.z),figer_les_labels);
label(rotate(-90,(pM.x,pM.y,0),pM)*rotate(90-phi,Z)*YZ*"$r$",pM, figer_les_labels);
Bonjour et merci de ta réponse. C'est vrai que c'est pas mal (il me manquait encore une rotation mais j'ai trouvé ce qu'il fallait) :
9292573808fbfafb266a8598d9353345ced2292e.png
maurice a écrit :Il y a un léger décalage que je ne m'explique pas pour l'instant. Mais on progresse ou bien ?
Je ne comprends vraiment pas ce décalage (voir les traits de construction) ?

En tout les cas, on progresse, c'est sûr : merci ! Mais pour l'instant, c'est plutôt de l'essai-erreur qu'une méthode systématique. En particulier, je n'ai pas l'impression que seule la rotation rotate(90-phi,Z) suffise à passe du r noir au r bleu ?

--
Christophe