Ecrire sur un plan 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.

Ecrire sur un plan en 3D

Messagepar XavteX » Mercredi 25 Mai 2011, 08:04

Bonjour,

Lorsque je teste le code suivant j'ai le message "warning [cannotfit]: cannot fit string to surface".
Je souhaiterais simplement écrire le nom du plan P1 sur la surface de ce plan...

Code: Tout sélectionner
size(5cm,0);
    import graph3;
    currentprojection=perspective(camera=(6,4,1),zoom=.6);
   path3 carre=unitsquare3;
   surface surf=surface(carre);
    pen  deco=lightblue+opacity(.5);
    draw(surf,deco,blue);
   draw(surface(xscale(1)*scale(1)*"$\mathscr{P}_1$",surf,uoffset=1,voffset=2,height=1),red);
:

Quelqu'un voit-il ce qu'il faut corriger?

Merci
XavteX
Kilo-utilisateur
 
Messages: 122
Inscription: Jeudi 13 Janvier 2011, 09:44
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Ecrire sur un plan en 3D?

Messagepar maurice » Mercredi 25 Mai 2011, 11:16

Bonjour, une proposition (qui ne répond pas à ta question mais bon...)

a10a7fd62389f1a630b36257932903b0.png

Code: Tout sélectionner
size(7.5cm,0);
import graph3;
usepackage("mathrsfs");
//currentprojection=perspective(camera=(6,4,1),zoom=.6);
currentprojection=perspective(
camera=(5.93487994566125,1.61504810242323,3.56676186603115),
up=(-0.00377933456284906,-0.000617890855096401,0.00592584727530821),
target=(0.509904175682232,0.487493879822865,-0.0107015456323056),
zoom=0.18604074616959,
angle=5.98704448896956,
autoadjust=false);

path3 carre=unitsquare3;
surface surf=surface(carre);
pen deco=lightblue+opacity(.5);

draw(surf,deco,blue);
//draw(surface(xscale(1)*scale(1)*"$\mathscr{P}_1$",surf,uoffset=1,voffset=2,height=1),red);
label(XY*rotate(90,Z)*"$\mathscr{P}_1$", (0.9,0.9,0), Embedded);


Code: Tout sélectionner
label(XY*rotate(90,Z)*"$\mathscr{P}_1$", (0.9,0.9,0), Embedded);


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
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: Ecrire sur un plan en 3D

Messagepar XavteX » Jeudi 26 Mai 2011, 21:32

Merci
A quoi sert Embedded?
XavteX
Kilo-utilisateur
 
Messages: 122
Inscription: Jeudi 13 Janvier 2011, 09:44
Statut actuel: Actif et salarié | Enseignant

Re: Ecrire sur un plan en 3D

Messagepar maurice » Jeudi 26 Mai 2011, 21:50

XavteX a écrit:Merci
A quoi sert Embedded?


Cette commande sert à figer le label sur le plan. Lorsque tu animes ta figure, le label bouge en même temps et n'est pas toujours lisible.
Sinon, il reste toujours face à l'observateur.

il suffit de tester sans Embedded pour s'en apercevoir :

Code: Tout sélectionner
label(XY*rotate(90,Z)*"$\mathscr{P}_1$", (0.9,0.9,0));


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
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: Ecrire sur un plan en 3D

Messagepar chellier » Samedi 28 Mai 2011, 20:33

On peut aussi utiliser labelpath3 (même si la solution proposée par Maurice est celle que j'utilise le plus souvent :) ) :

4bd2740bfb185eb5cc880612771edae9.png

Code: Tout sélectionner
size(10cm,0);
import labelpath3;
usepackage("mathrsfs");
currentprojection=perspective(.8,-1,1);
pen deco=lightblue+opacity(.5);
triple u=X, v=Y;
path3 plan=plane(u,v,O);
path3 ligne1=O--u+v; // ligne sur laquelle le texte sera écrit
path3 ligne2=.03*v--.03*v+u;
draw(surface(plan),deco,blue);
draw(labelpath("$\mathscr{P}_1$",subpath(ligne1,.01,.05),angle=-90),red);
draw(labelpath("$\mathscr{P}_1$",subpath(ligne2,reltime(ligne2,0.93),reltime(ligne2,0.99)),angle=-90),heavygreen);


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

Re: Ecrire sur un plan en 3D

Messagepar XavteX » Dimanche 29 Mai 2011, 09:13

OK merci!
XavteX
Kilo-utilisateur
 
Messages: 122
Inscription: Jeudi 13 Janvier 2011, 09:44
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: Aucun utilisateur enregistré et 2 invités