Page 1 sur 1

Sections d'un cône

MessagePosté: Mardi 29 Avril 2008, 21:10
par GMaths
J'ouvre un sujet pour évoquer le dessin de sections possibles d'un cône avec Asymptote... mais n'hésitez pas à évoquer d'autres logiciels ! ;-)

J'avais besoin d'une section de cône de type hyperbole donc je viens de bricoler la chose suivante :
http://www.marris.org/asymptote/Solides/index.html Figure bc01_290408_cone.asy

Image


Cela pourra peut-être servir à d'autres...

... et je suis intéressé par toute suggestion pour améliorer la figure en question.
(je sais par exemple que j'aurais pu tracer le cône en une seule fois avec la fonction revolution mais j'imagine qu'il y a d'autres améliorations possibles.)

Vous constaterez notamment... qu'il y a un réel t obtenu par tâtonnement, dont je ne suis pas très fier : en l'état, on ne pourrait pas faire tourner la figure pour en faire une animation. :-(

J'attends avec impatience le moment (en 201x, où Asymptote gèrera automatiquement et simplement les intersections et parties cachées de tous les objets d'une scène 3d... :D
... car là, la longueur du code pour une telle figure peut faire peur aux personnes qui débutent.

Re: [ASYMPTOTE] Sections d'un cône

MessagePosté: Mardi 29 Avril 2008, 22:52
par P.Fradin
Bonsoir,

GMaths a écrit:J'ouvre un sujet pour évoquer le dessin de sections possibles d'un cône avec Asymptote... mais n'hésitez pas à évoquer d'autres logiciels ! ;-)


Ah bon! Alors j'y vais avec un petit coup de TeXgraph (1.93). On charge le modèle scene3d.mod et on définit un élément Utilisateur avec le code:

Code: Tout sélectionner
[C1:=cone(Origin, 5*vecK,4,45),
 C2:=cone(Origin, -5*vecK,4,45),
 P:=[M(2,0,0),vecI],
 L1:=Intersection(P,C1), L2:=Intersection(P,C2),
 Build3D([1, Rgb(0.74,1,0.73)+0.9*i,getplan(P)],
         [1, Rgb(0.73,0.74,1),C1,C2],
         [2,0,8,axes3d()],
         [1-i, red, lineTube([L1,jump,L2],0.05,10)]
        ),
 Display3D(),
 Arrows:=1, Width:=8, LineStyle:=dotted,Axes3D(0,0,0) ]


Ce qui donne:

cone2.png



Vous constaterez notamment... qu'il y a un réel t obtenu par tâtonnement, dont je ne suis pas très fier : en l'état, on ne pourrait pas faire tourner la figure pour en faire une animation. :-(
J'attends avec impatience le moment (en 201x, où Asymptote gèrera automatiquement et simplement les intersections et parties cachées de tous les objets d'une scène 3d... :D ...


Et oui, car lorsqu'il y a les procédures pour gérer automatiquement la scene, il n'y a plus qu'à changer l'angle de vue:

sectioncone.gif
sectioncone.gif (314.33 Kio) Vu 1195 fois

Re: [ASYMPTOTE] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 03:43
par GMaths
P.Fradin a écrit:
GMaths a écrit:... mais n'hésitez pas à évoquer d'autres logiciels ! ;-)

Ah bon! Alors j'y vais avec un petit coup de TeXgraph (1.93).

Je ne sais pas pourquoi... mais je m'étais parié que tu ne raterais pas l'occasion. :lol:
Un grand merci !

Et j'espère qu'un jour, on aura cette possibilité de le faire aussi facilement avec asymptote... :roll:

A la décharge de mon code qui est 4 fois plus longs : j'ai ajouté pas mal de traits, de points et de commentaires... :mrgreen:
On trouve les excuses que l'on peut. :lol:

Re: [ASYMPTOTE] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 06:45
par P.Fradin
GMaths a écrit:Je ne sais pas pourquoi... mais je m'étais parié que tu ne raterais pas l'occasion. :lol:
Un grand merci !


J'essaie de ne jamais raté ce genre d'occasion, c'est comme cela que la plupart du temps je me rend compte qu'il manque des fonctionnalités à TeXgraph ou bien que je tombe sur un bug. Bref, cela permet de faire avancer les choses.

Et j'espère qu'un jour, on aura cette possibilité de le faire aussi facilement avec asymptote... :roll:


Cela a l'air facile mais tout n'est pas rose, car l'algorithme utilisé fait que l'image obtenue peut être énorme...

A la décharge de mon code qui est 4 fois plus longs : j'ai ajouté pas mal de traits, de points et de commentaires... :mrgreen:
On trouve les excuses que l'on peut. :lol:


Oui, de mon côté j'ai fait au plus court :lol:

Re: [Asymptote] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 11:04
par OG
Bonjour

Bravo à tous les deux.
Pour Gaëtan, est-il possible de mettre en équation le fameux $t$ en fonction de la position du pan et de la projection ?
(et donc faire une animation)
Pour Patrick, est-il possible de faire le tracé rouge en pointillé comme sur le graphique de Gaëtan ?

Cordialement
O.G.

Re: [Asymptote] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 12:07
par GMaths
OG a écrit:Pour Gaëtan, est-il possible de mettre en équation le fameux $t$
en fonction de la position du plan et de la projection ? (et donc faire une animation)


Je t'avoue y avoir pensé mais cela ne m'a pas semblé simple du tout donc j'ai regardé mes paquets de copies... et j'ai décidé de botter en touche. :mrgreen:
... mais je pense que je reviendrai sur le problème en juin, après le bac, si Philippe n'est pas passé avant avec une solution. :roll: :lol:

Re: [Asymptote] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 12:32
par OG
Re

Disons qu'il faut d'abord déterminer la droite sur le cône qui fait office de dernier point visible, les droites bleues dessinées. Ensuite comme tu sais décrire par des équations la courbe dessinée sur le cône représentant l'intersection avec le plan, tu dois finalement résoudre des équations polynomiales de degré 2 (ou 4, là je ne sais pas) mais qui ne posent pas de problème réel.

O.G. à la va-vite

Re: [Asymptote] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 14:11
par P.Fradin
OG a écrit:Bonjour
...
Pour Patrick, est-il possible de faire le tracé rouge en pointillé comme
sur le graphique de Gaëtan ?


Bonjour,

Oui, en remplaçant le code de mon premier message par celui-ci (après avoir chargé scene3d.mod):

Code: Tout sélectionner
[C1:=cone(Origin, 5*vecK,4,45),
C2:=cone(Origin, -5*vecK,4,45),
P:=[M(2,0,0),vecI],
L1:=Intersection(P,C1), L2:=Intersection(P,C2),
Build3D([1, Rgb(0.74,1,0.73)+0.9*i,getplan(P)],
         [1, Rgb(0.73,0.74,1),C1,C2],
         [2,0,8,axes3d()],
        ),
Display3D(),
Color:=red, Width:=8,DrawAretes([L1,L2],0), Color:=black,
Arrows:=1, LineStyle:=dotted,Axes3D(0,0,0) ] 


On obtient:
cone3.png
cone3.png (33.48 Kio) Vu 1096 fois


Ce n'est qu'un avis personnel, mais pour moi cela n'a pas vraiment de sens car même à l'intérieur du cône, on doit voir cette intersection. C'est pour cela que dans ma permière version je ne dessine pas vraiment la courbe, mais un tube centré sur la courbe, tube que j'inclus dans la scène, on le voit donc de chaque côté de la paroi du cône.

Dans la deuxième version, j'ai dessiné seulement la courbe et par dessus-la scène (et non plus dans la scène). D'ailleurs je précise que je ne détermine pas la courbe par le calcul, mais par l'intersection du plan avec les différentes facettes du cône, c'est en réalité une suite de segments, chacun étant soit sur une face visible (=>trait plein) soit sur une face cachée (=> pointillés)

Re: [Asymptote] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 14:23
par OG
Cher Patrick

Merci pour ce code et pour les informations.
Du point de vue de la scène 3D ton cône est-il interprété en termes de multiples facettes triangulaires ?

O.G.

Re: [Asymptote] Sections d'un cône

MessagePosté: Mercredi 30 Avril 2008, 14:40
par P.Fradin
OG a écrit:Du point de vue de la scène 3D ton cône est-il interprété en termes de multiples facettes triangulaires ?


Oui, ce sont les facettes que l'on devine sur l'image. Dans le cas du cône elles sont triangulaires, mais ce n'est pas une obligation. J'ai mis 45 facettes dans le code de mon dernier message.