Page 1 sur 1

Tore et cylindre

MessagePosté: Mardi 22 Mai 2012, 13:47
par paspythagore
Bonjour,

je cherche à dessiner les figures ci-dessous avec Asymptote et l'éditeur TexMaker.

Soient $S = \{(x . c; x . s; z) \in R^3 : (x; 0; z) \in K^*; c^2 + s^2 = 1\}$ la surface de rotation obtenue en tournant K autour de l’axe $z$ et $C$ le cylindre $\{(2c; 2s; z) : c^2 + s^2 = 1\}$ obtenu en tournant la droite $L = (x = 2; y = 0)$ autour de l’axe $z$.


Je souhaiterai que l'axe $z$ soit vertical et $x$ horizontal vers la droite. Pour l'axe $y$, en perspective cavalière vers l'avant à gauche, si cela est compatible avec le dessin 3D d'un Tore et d'un cylindre.

Je souhaiterai que le tore soit vert avec en vert foncé le cercle $K$ dans le plan $y=0$, donnant l'idée de la section du Tore à cet endroit. Le tore lui partant vers "l'arrière" et étant représenté sur les $2\pi/3$ suivants.

Pour le cylindre je souhaiterai qu'il soit rouge avec la droite $L$ en rouge foncé ou en gras.

Par la suite, si c'est possible, je souhaiterai faire figurer les angles $u$ et $\theta$ des mêmes fonctions lorsqu'elles sont paramétrées comme suit :

$$\varphi(u,\theta)=\left((2+c(u)).c(\theta),(2+c(u)).s(\theta),s(u)\right)$$



et

$$\psi(\theta,\lambda)=\left(2c(\theta),2s(\theta),\lambda\right)$$



Je vous remercie pour toutes les formes d'aides que vous me fournirez, qu'elles soient à travers des figures dont le script est en ligne, des conseils ou bien sûr, un assistanat pas à pas en commençant par le cylindre et la droite.

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 14:18
par OG
Bonjour

As-tu regardé la doc Asy-3D http://wiki.mathematex.net/doku.php?id= ... te:accueil ?

Voici au moins deux liens pour t'essayer

http://asymptote.sourceforge.net/gallery/

http://marris.org/asymptote/

O.G.

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 14:48
par maurice
Bonjour,

OG a écrit:
As-tu regardé la doc Asy-3D http://wiki.mathematex.net/doku.php?id= ... te:accueil ?

O.G.


La doc ASY_3D esdt actuellement indisponible sur le net (problème du site qui l'hébargeait) mais je peux l'envoyer par mail sur demande (par mail ou mp).

Par ailleurs, je trouve la demande un peu confuse et je comprends pas bien ce que tu veux.
Pour créer des solides de révolution, tu peux utiliser le module solids et sa routine revolution.

Précise ta demande et on verra ce que l'on peut faire...

Maurice

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 15:00
par paspythagore
Merci.

Je cherche à tracer 3 axes partant du centre du dessin (point d'intersection des 3 droites) : $x$ demi droite horizontale vers la droite graduée jusqu'à $3$ et avec un $x$ sur la flèche, $y$ demi droite en perspective calière vers l'avant gauche graduée jusqu'à $3$ et avec un $y$ sur la flèche, et $z$ demi droite verticale vers le haut graduée jusqu'à $1$ et avec un $z$ sur la flèche.

Déjà ça en 3D, je ne sais pas le faire.

Puis sur ce repère dessiner une droite d'équation $x=2$ dans le plan $y=0$, c'est à dire la droite $(2,0,z)$ en rouge et en gras.

Puis le cylindre qui est la translation du cercle de centre l'origine du repère et de rayon $2$ selon l'axe $z$ en rouge.

Et puis, j'aimerai comprendre ce que je fais...bon c'est pas gagné, c'est mon premier jour avec asymptote.

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 16:40
par GMaths
maurice a écrit:La doc ASY_3D est actuellement indisponible sur le net (problème du site qui l'hébargeait) mais je peux l'envoyer par mail sur demande (par mail ou mp).

Il suffit de me donner l'autorisation et de m'en donner la dernière version pour que je te la mette en ligne sur 2 ou 3 serveurs et elle sera toujours disponible.

-----------------------------------------

Quant au problème posé : les axes doivent-être comme il est dit ? Asymptote n'aime pas trop les repères indirects...
Ne peut-on pas inverser les axes (x'x) et (y'y) ?

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 16:49
par maurice
GMaths a écrit:
maurice a écrit:La doc ASY_3D est actuellement indisponible sur le net (problème du site qui l'hébargeait) mais je peux l'envoyer par mail sur demande (par mail ou mp).

Il suffit de me donner l'autorisation et de m'en donner la dernière version pour que je te la mette en ligne sur 2 ou 3 serveurs et elle sera toujours disponible.


Pas de problème, et même avec plaisir !
-----------------------------------------
GMaths a écrit:Quant au problème posé : les axes doivent-être comme il est dit ? Asymptote n'aime pas trop les repères indirects...
Ne peut-on pas inverser les axes (x'x) et (y'y) ?


Je me faisais justement la même réflexion à l'instant même.

maurice

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 17:11
par paspythagore
Si Asymptote préfère le sens direct pas de problème. C'est juste que sur ma feuille de papier, j'avais dessiné $xOy$ horizontal.
Comme ça j'ai déjà appris quelque chose.

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 18:09
par GMaths
Je viens seulement de rentrer chez moi... et vais relire ce qui précède pour essayer de comprendre ce qui est demandé.

Pour le repère, on peut commencer par cela :

696308739ea71d241c30a3f4c0ec04ee.png

Code: Tout sélectionner
viewportmargin=(20,20); // << astuce pour une marge supplémentaire sur le forum.
import graph3;
size(200);
currentprojection=currentprojection=obliqueX;
limits((0,0,0),3*(1,1,1));
xaxis3("$x$",Arrow3());
yaxis3("$y$",Arrow3());
zaxis3("$z$",Arrow3());

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 18:19
par GMaths
paspythagore a écrit:Puis sur ce repère dessiner une droite d'équation $x=2$ dans le plan $y=0$, c'est à dire la droite $(2,0,z)$ en rouge et en gras.

Puis le cylindre qui est la translation du cercle de centre l'origine du repère et de rayon $2$ selon l'axe $z$ en rouge.

Et puis, j'aimerai comprendre ce que je fais...bon c'est pas gagné, c'est mon premier jour avec asymptote.


J'ai lu cela... mais j'ai vu aussi qu'il était question de tore.

Donc il faudrait savoir s'il faudra l'ajouter ou pas... et s'il y a d'autres choses qui devraient être ajoutées.

Il faut savoir d'emblée ce qu'il faut dans la scène... car il ne sera pas forcément facile d'ajouter des choses après, sans devoir casser ce qui a été fait.

A propos du cylindre, il est espéré opaque, transparent ou ???
Il faut savoir que l'on ne fait pas encore ce que l'on veut en matière de 3D avec Asymptote : on rêve tous d'avoir une gestion des traits cachés en pointillés... mais on n'en est pas encore là... et donc pour en avoir, il faut parfois bidouiller.

Re: Tore et Cylindre

MessagePosté: Mardi 22 Mai 2012, 18:35
par GMaths
paspythagore a écrit:Puis sur ce repère dessiner une droite d'équation $x=2$ dans le plan $y=0$, c'est à dire la droite $(2,0,z)$ en rouge et en gras.

Puis le cylindre qui est la translation du cercle de centre l'origine du repère et de rayon $2$ selon l'axe $z$ en rouge.

Si cela se restreint à cela, alors voilà une idée :

Image


Code: Tout sélectionner
viewportmargin=(10,10);
import solids;
size(300);
currentprojection=currentprojection=obliqueX;
limits((0,0,-6),(5,4,6));
xaxis3("$x$",.5green,Arrow3());
yaxis3("$y$",.5green,Arrow3());
zaxis3("$z$",.5green,Arrow3());

real x0=2, ymax=4, ymin=-ymax;
path3 generatrice=(x0,0,ymin)--(x0,0,ymax);
revolution cylindre=revolution(generatrice,Z);

draw(surface(cylindre),red+opacity(.8));
draw(generatrice,1bp+.3red);

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 00:14
par Frédéric Testard
Quant au tore lui-même, il suffit d'utiliser le paramétrage de l'énoncé. Il faudra compléter en mettant en évidence le cercle que l'on retire.

tore.png
tore.png (17.22 Kio) Vu 1804 fois


Code: Tout sélectionner
viewportmargin=(20,20);
import graph3;
settings.outformat="png";
size(300);

currentprojection = orthographic(1,1,1);
limits((0,0,0),4*(1,1,1));

triple leTore(pair t) {
real x=(2+cos(t.x))*cos(t.y);
real y=(2+cos(t.x))*sin(t.y);
real z=sin(t.x);
return (x,y,z);
}

surface s=surface(leTore,(0,0),(2pi,2pi),8,8,Spline);
draw(s,0.6red+opacity(0.5),meshpen=black,nolight);

xaxis3("$x$",Arrow3());
yaxis3("$y$",Arrow3());
zaxis3("$z$",Arrow3());

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 11:29
par GMaths
GMaths a écrit:... et de m'en donner la dernière version pour que je te la mette en ligne sur 2 ou 3 serveurs et elle sera toujours disponible.

En attendant ta nouvelle version, j'ai mis l'ancienne ici :
http://marris.org/ressources/ASY_3d.pdf (fichier de 17 Mo !)

Je rajouterai, en même temps que la nouvelle version, un lien sur la page de la galerie... et je mettrai le fichier à deux autres endroits : il n'y aura plus de problème de disponibilité.

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 11:48
par GMaths
Frédéric Testard a écrit:Quant au tore lui-même, il suffit d'utiliser le paramétrage de l'énoncé.

J'attendais personnellement qu'il précise... car à la lecture du premier message, la demande n'est pas claire.

Une version verte et ouverte :

Image


Code: Tout sélectionner
viewportmargin=(20,20);
import graph3;
size(300);
currentprojection = orthographic(1,1.5,.5);
limits((0,0,0),(4,5,2));
triple leTore(pair t) {
real x=(2+cos(t.x))*cos(t.y);
real y=(2+cos(t.x))*sin(t.y);
real z=sin(t.x);
return (x,y,z);
}
surface s=surface(leTore,(0,pi/2),(2pi,2pi),4,4,Spline);
draw(s,0.6green,meshpen=1bp+white);
xaxis3("$x$",.5blue,Arrow3());
yaxis3("$y$",.5blue,Arrow3());
zaxis3("$z$",.5blue,Arrow3());

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 12:00
par GMaths
Et s'il veut mélanger cylindre et tore... cela peut donner des choses comme cela :

Image


Code: Tout sélectionner
viewportmargin=(20,20);
import solids;
size(300);

currentprojection = orthographic(1,1.5,.5);
limits((0,0,0),(4,5,2.8));

triple leTore(pair t) {
real x=(2+cos(t.x))*cos(t.y);
real y=(2+cos(t.x))*sin(t.y);
real z=sin(t.x);
return (x,y,z);
}
surface s=surface(leTore,(-pi/2,pi/2),(pi/2,2pi),8,8,Spline);
draw(s,0.6green,meshpen=1bp+white);

real x0=2, ymax=2, ymin=-ymax;
path3 generatrice=(x0,0,ymin)--(x0,0,ymax);
revolution cylindre=revolution(generatrice,Z);
draw(surface(cylindre),red+opacity(.9));
draw(generatrice,1bp+.3red);

xaxis3("$x$",.5blue,Arrow3());
yaxis3("$y$",.5blue,Arrow3());
zaxis3("$z$",.5blue,Arrow3());

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 14:05
par paspythagore
C'est super, merci beaucoup.

Une dernière question : est il possible d'avoir la dernière figure avec une coupe sur le demi-plan $(Ox, zz')$ constitué uniquement des valeurs positives de $x$ et de voir l'axe $Ox$ ainsi que la coupe du tore et du cylindre selon ce demi plan.

Avec ces dessins, je vais pouvoir m'amuser avec asymptote cet été.

Encore merci.

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 14:42
par GMaths
Je ne suis pas sûr d'avoir compris la dernière demande :

Image


Code: Tout sélectionner
viewportmargin=(20,20);
import solids;
size(300);

currentprojection = orthographic(1,1.5,.5);
limits((0,0,0),(4,5,2.8));

triple leTore(pair t) {
real x=(2+cos(t.x))*cos(t.y);
real y=(2+cos(t.x))*sin(t.y);
real z=sin(t.x);
return (x,y,z);
}

surface s=surface(leTore,(0,pi/2),(2pi,2pi),8,8,Spline);
draw(s,0.6green,meshpen=1bp+white);

real x0=2, ymax=2, ymin=-ymax;
path3 generatrice=(x0,0,ymin)--(x0,0,ymax);
revolution cylindre=revolution(generatrice,Z,90,360);
draw(surface(cylindre),red+opacity(.9));
draw(generatrice,1bp+.3red);

xaxis3("$x$",.5blue,Arrow3());
yaxis3("$y$",.5blue,Arrow3());
zaxis3("$z$",.5blue,Arrow3());

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 14:46
par paspythagore
Merci,

c'est exactement ce que je voulais.

Re: Tore et Cylindre

MessagePosté: Mercredi 23 Mai 2012, 18:50
par Frédéric Testard
Elle est jolie, la dernière avec les trois quarts de cylindre et de tore.