Cercles de Villarceau

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
Infophile
Messages : 8
Enregistré le : sam. 1 mai 2010, 00:00

Cercles de Villarceau

Message non lu par Infophile » dim. 9 mai 2010, 23:21

Bonsoir,

J'essaye de reproduire ma figure Maple ci-dessous, il s'agit des cercles de Villarceau, intersections du tore T(a,R) par le plan \mathcal{P}:z=\tan(\alpha)y (où \alpha=\arcsin\left(\frac{R}{a}\right) de sorte qu'il soit bitangeant au tore). Pour le moment j'ai tracé le tore et plan sécant, voici le code :

Code : Tout sélectionner

import solids; 
currentprojection=orthographic(8.5,9.5,8);
currentlight=(0,5,5);
 
size(8cm,0);

// Paramètres et définition du tore
real a=3, R=1, d=a+2R;
revolution tore=revolution(shift(a*X)*Circle(O,R,Y,32),Z);
surface s=surface(tore);

// Définition du plan bitangeant au tore
triple v1=(10,0,0),
       v2=(0,10,0),
       p0=(-5,-5,0);
path3 pl1=plane(v1,v2,p0);
path3 pl2=rotate(19.47,Y)*pl1;

// On trace le tore et le plan sécant
draw(s,orange);
draw(surface(pl2),blue);


Maintenant, j'ai les équations paramétriques de ces cercles (ou bien leur équation dans le plan \mathcal{P} comme ça vous arrange), comment les trace-t-on ?

Ensuite est-il possible comme en Maple de faire apparaître ce quadrillage (patchgrid) pour voir à l'intérieur du tore ? Enfin pourquoi n'y a-t-il pas d'effet de lumière sur le plan ?

Merci !
Fichiers joints
villlla.jpg
villlla.jpg (22.19 Kio) Vu 8714 fois

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

Re: Cercles de Villarceau

Message non lu par GM » dim. 9 mai 2010, 23:48

Je ne vais pas pouvoir étudier ton problème ce soir... désolé.

J'ai juste compilé vite fait ton exemple... et je te montre (si tu ne savais pas) que, dans un pdf avec prc, tu peux modifier le rendu, l'éclairage de ce que tu visualises :

2010-05-10_004004.png
2010-05-10_004004.png (24.29 Kio) Vu 8708 fois

image obtenue avec "Mode de rendu du modèle" réglé sur "Illustration ombrée".

Le maillage comme ton image... ce ne sera pas évident... je crois.
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 !

Infophile
Messages : 8
Enregistré le : sam. 1 mai 2010, 00:00

Re: Cercles de Villarceau

Message non lu par Infophile » lun. 10 mai 2010, 00:00

Je ne vais pas pouvoir étudier ton problème ce soir... désolé.


Pas de problème, j'ai tout le mois de juin :)

Pour l'effet de lumière en fait ce que j'aurais aimé c'est avoir les mêmes reflets que sur le tore, là le plan est complètement opaque c'est moins joli.

Bonne nuit GM !
Fichiers joints
tor.jpg
tor.jpg (12.33 Kio) Vu 8707 fois

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

Re: Cercles de Villarceau

Message non lu par GM » lun. 10 mai 2010, 08:26

Infophile a écrit :Pour l'effet de lumière en fait ce que j'aurais aimé c'est avoir les mêmes reflets que sur le tore, là le plan est complètement opaque c'est moins joli.

Une remarque non vérifiée : je pense que l'éclairage des surfaces reste "basique"... et ne se fait en un point d'une surface qu'en fonction de la direction normale à cette surface en ce point... donc pour un plan... j'ai bien l'impression que tu devras te contenter d'un éclairage "monotone". :mrgreen:
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 !

ctop
Messages : 8
Enregistré le : jeu. 18 mars 2010, 20:32

Re: Cercles de Villarceau

Message non lu par ctop » lun. 10 mai 2010, 13:06

Même si ce n'est pas une solution satisfaisante, tu peux peut-être améloirer les choses avec le paramètre opacity().

Code : Tout sélectionner

draw(surface(pl2),blue+opacity(.5));


et tu peux encore améliorer les choses avec un truc du genre

Code : Tout sélectionner

draw(surface(pl2,
        new pen[] {blue+opacity(.4),
                      darkblue,
                      darkblue,
                      blue}));

permet de voir le tore par transparence en donnant un petit effet de rendu

Infophile
Messages : 8
Enregistré le : sam. 1 mai 2010, 00:00

Re: Cercles de Villarceau

Message non lu par Infophile » lun. 10 mai 2010, 18:11

Ok merci, et pour le tracé des cercles ?

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

Re: Cercles de Villarceau

Message non lu par GM » lun. 10 mai 2010, 19:45

Infophile a écrit :Ok merci, et pour le tracé des cercles ?

On connait les coordonnées de leur centre, leur rayon, l'inclinaison du plan... donc très simplement ainsi :

Code : Tout sélectionner

import solids;
currentprojection=orthographic(8.5,9.5,8);
currentlight=(0,5,5);

size(8cm,0);

// Paramètres et définition du tore
real a=3, R=1, d=a+2R;
revolution tore=revolution(shift(a*X)*Circle(O,R,Y,32),Z);
surface s=surface(tore);

// Définition du plan bitangeant au tore
triple v1=(2d,0,0),
       v2=(0,2d,0),
       p0=(-d,-d,0);
path3 pl1=plane(v1,v2,p0);

transform3 r=rotate(asin(R/a)*180/pi,Y);
path3 pl2=r*pl1;
draw(Circle((0,R,0),a,r*Z),2bp+red);
draw(Circle((0,-R,0),a,r*Z),2bp+red);

// On trace le tore et le plan sécant
draw(s,orange);
draw(surface(pl2),blue);
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 !

Infophile
Messages : 8
Enregistré le : sam. 1 mai 2010, 00:00

Re: Cercles de Villarceau

Message non lu par Infophile » lun. 10 mai 2010, 22:30

Merci beaucoup, j'ai réussi à faire d'autres coupes à partir de cet exemple. Mais de manière générale on peut représenter une courbe dans l'espace avec sa paramétrisation dans Asymptote ?

Maintenant j'aimerais reproduire la figure Maple ci-dessous, vous avez dit que le patchgrid était difficilement faisable avec Asymptote donc ? Parce que j'ai essayé avec des sphères pleines (centrées en (\pm R,0,0) et de rayon a) et bien même avec opacity je trouve que la mise en évidence des cercles n'est pas très claire, comment feriez-vous ?
Fichiers joints
sphere.jpg
sphere.jpg (59.39 Kio) Vu 8666 fois

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

Re: Cercles de Villarceau

Message non lu par GM » lun. 10 mai 2010, 22:49

Infophile a écrit :Merci beaucoup, j'ai réussi à faire d'autres coupes à partir de cet exemple. Mais de manière générale on peut représenter une courbe dans l'espace avec sa paramétrisation dans Asymptote ?


sa ? "ses" tu veux dire...

Un exemple : http://asy.gmaths.net/forum/les-demandes-d-aide-f15/surface-p-v-t-d-un-corps-pur-t73.html?hilit=courbe#p505
dont la partie de code qui t'intéresse est :

Code : Tout sélectionner

real x(real t) {return 1+cos(2pi*t);}
real y(real t) {return 1+sin(2pi*t);}
real z(real t) {return t;}

path3 p=graph(x,y,z,0,1,operator ..);


Infophile a écrit :Maintenant j'aimerais reproduire la figure Maple ci-dessous, vous avez dit que le patchgrid était difficilement faisable avec Asymptote donc ? Parce que j'ai essayé avec des sphères pleines (centrées en (\pm R,0,0) et de rayon a) et bien même avec opacity je trouve que la mise en évidence des cercles n'est pas très claire, comment feriez-vous ?


Je ne comprends pas très bien ce que tu veux obtenir sur ta figure.

A propos du maillage :
pour une seule sphère... s'inspirer de l'exemple fig_ad07 de cette page.
pour deux sphères... si tu veux une gestion des intersections avec le respect des traits continus et pointillés ce sera plus problèmatique.
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 !

Infophile
Messages : 8
Enregistré le : sam. 1 mai 2010, 00:00

Re: Cercles de Villarceau

Message non lu par Infophile » lun. 10 mai 2010, 22:57

Oui par paramétrisation j'entendais celles vérifiées par les 3 coordonnées x,y,z. OK, et pour une équation implicite ? Par exemple celle du plan tangeant \mathcal{P}:X\cos\varphi+Z\sin \varphi-(a\cos \varphi+R)=0.

En fait je ne suis pas obligé de respecter ce maillage, disons que c'était ce que j'avais trouvé de mieux sous Maple pour mettre en évidence les cercles vus comme intersection du tore avec ces sphères. Si vous aviez à les mettre en évidence que feriez-vous ? Par transparence ? J'avais essayé et je trouvais que pour une sphère encore ça passait mais les 2 ça faisait un peu "bazar".

Enfin une dernière chose : j'ai toujours ces raies noires sur mes .pdf ou .eps, mais pas lorsque je visualise via msdos : asy -v exemple.asy, donc n'y a-t-il pas possibilité de s'en sortir d'une manière ou d'une autre ? ou je serai obligé de changer de carte graphique ? (je possède une ATI Radeon Xpress 1250)

Merci beaucoup pour ces précieux conseils !

Répondre