J'essaie de reproduire la figure ci-dessous à l'aide de pgfplots :

Twisted plot

J'ai vu une explication sur mathematica stackexchange. Elle va me servir d'exemple : je vais procéder de même. Ainsi vais-je tout d'abord dessiner une coupe de la figure, puis visser celle-ci en suivant le périmètre d'un cercle.

La vue en coupe est obtenue grâce au code suivant :

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2d plot

Puis je donne de celle-ci une vue en trois dimensions. Je colore ma figure pour plus de lisibilité. Par souci de simplification, je place la figure au niveau 0. Il est toujours possible de modifier cela ou de changer le point de vue.

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

3d plot

Il ne nous reste plus qu'à faire tourner la figure par rapport à son centre, pendant que celui-ci décrit un cercle selon un axe perpendiculaire au plan dans lequel s'inscrit la figure. On trouvera sur TeX stackexchange un premier exemple de rotation sur l'axe Z, obtenu grâce à la fonction ({sin(x)*y},{cos(x)*y},{ <function of y> }).

Outre le fil consacré à mathematica cité plus haut, on peut s'inspirer de la documentation dudit logiciel.

Car la question demeure : comment réaliser cette figure avec pgfplots ?

PS : cette question est la traduction de celle-ci, posée sur le forum germanophone texwelt.de.

Posée 04 Jul '17, 18:27

stefan's gravatar image

stefan ♦♦
10618
Taux d'acceptation : 40%

Modifiée 05 Jul '17, 12:54

Pathe's gravatar image

Pathe ♦♦
7.6k49210252

Cette question ne nécessite pas de support urgent : une solution (à but d'archive) va suivre mais sentez-vous libre de contribuer si vous le souhaitez.

(04 Jul '17, 18:28) stefan ♦♦ stefan's gravatar image

Il s'agit de réaliser une sorte de tore ouvert vissé, en fait. On peut s'inspirer de ce fil sur TeX stackexchange, intitulé Comment dessiner un tore ?

On y lira qu'un tore peut par exemple être obtenu par l'équation :

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

dont z et t appartiennent à l'intervalle [0,2\pi].

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Il s'agit de dessiner en 3D la figure 2D obtenue par les équations suivantes :

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Un peu de gamberge nous amène à :

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ce qui nous donne, pour une valeur définie de s et t\in[0,2\pi] (160), le code et la figure suivants :

figure avec valeur définie

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

À partir de là, on peut faire varier s, par exemple si l'on a s\in[0,\pi], on obtient les code et figure suivants :

figure

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Avec y domain=0:360:

complètement

Fort bien, mais de vissage, point. On ajoute un multiple de y : x+3*y.

On obtient le code suivant :

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Figure finale

Supplément:

Figure

Ouvrir dans l'éditeur Overleaf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

PS : cette réponse est une adaptation de celle citée plus haut ainsi que de celle-ci avec l'aide de cmhughes.

Lien permanent

Publiée 04 Jul '17, 19:13

stefan's gravatar image

stefan ♦♦
10618
Taux d'acceptation : 40%

Modifiée 05 Jul '17, 01:06

Pathe's gravatar image

Pathe ♦♦
7.6k49210252

L'auteur a également publié un billet de blog (en anglais) consacré au présent fil de discussions.

(05 Jul '17, 12:57) Pathe ♦♦ Pathe's gravatar image
Votre réponse
[Masquer l'aperçu]

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Mots-clés de la question :

×109
×24
×8
×1

Question posée : 04 Jul '17, 18:27

Question vue : 9,332 fois

Dernière mise à jour : 05 Jul '17, 12:57

C'est votre première visite ici ? Consultez la FAQ !

×