Page 1 sur 1

Pôles d'un grand cercle

MessagePublié: 31 Oct 2010 13:22
par Eric
Bonjour Patrick

Je voudrais réaliser une figure 3D d'un grand cercle sur une sphère et de ses pôles (les extrémités du diamètre de la sphère orthogonal au grand cercle). Comme faire ceci ?

Merci d'avance,
Eric

Re: Pôles d'un grand cercle

MessagePublié: 31 Oct 2010 13:40
par P.Fradin
Bonjour Eric,

Quelque chose comme ça?:
GdCercle.png
GdCercle.png (26.29 Kio) Consulté 26968 fois


Ci-joint le source:
GdCercle.teg
(1.43 Kio) Téléchargé 1093 fois

Re: Pôles d'un grand cercle

MessagePublié: 31 Oct 2010 14:14
par Eric
Je te remercie. Je vais essayer de m'en servir de base pour la figure que je veux réaliser.

Re: Pôles d'un grand cercle

MessagePublié: 31 Oct 2010 14:20
par Eric
Je viens de regarder. Tu as pris les pôles comme des vecteurs prédéfinis dans TexGraph. Comment les calculer explicitement comme l'intersection de la sphère avec le diamètre orthogonal au grand cercle (ou l'inverse puisqu'en fait, tu pars du diamètre pour placer le cercle) ?

En fait, je veux utiliser ton modèle pour tracer un triangle sphérique et son triangle polaire.

Re: Pôles d'un grand cercle

MessagePublié: 31 Oct 2010 14:41
par P.Fradin
Eric a écrit:En fait, je veux utiliser ton modèle pour tracer un triangle sphérique et son triangle polaire.


Mais fallait le dire tout de suite! J'ai un fichier pour les triangles sphériques (lien temporaire).

Image

Re: Pôles d'un grand cercle

MessagePublié: 31 Oct 2010 14:47
par Eric
P.Fradin a écrit:
Eric a écrit:En fait, je veux utiliser ton modèle pour tracer un triangle sphérique et son triangle polaire.


Mais fallait le dire tout de suite!


Je voulais essayer de le faire à partir d'une première base (parce que pour les figures 3D, je rame ...).

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 00:22
par Eric
Je viens de voir qu'il y a un problème avec l'export en pgf. Des ellipses fantômes apparaissent.
Triangle_spher.jpg
Triangle_spher.jpg (42.33 Kio) Consulté 26908 fois


Et sinon, comment faire pour représenter le triangle polaire de ABC sur la figure ci-dessus ?

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 00:23
par P.Fradin
Qu'appelles-tu le triangle polaire, diamétralement opposé?

PS: oui il y avait un bug dans la commande Ellipse de la version 1.95, elle est corrigée.

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 00:30
par Eric
P.Fradin a écrit:Qu'appelles-tu le triangle polaire, diamétralement opposé?

Le triangle A'B'C' où A' est le pôle du grand cercle BC le plus proche de A, autrement dit l'extrémité la plus proche de A du diamètre de la sphère orthogonal au grand cercle BC, B' et C' sont définis de la même façon.

PS: oui il y avait un bug dans la commande Ellipse de la version 1.95, elle est corrigée.


Je vais charger la dernière version. Actuellement, j'utilise la version 1.95-beta-1.

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 00:39
par Eric
Je viens de passer à la version beta-9 et j'ai toujours un fantôme, mais plus le même qu'avec la beta-1.
Triangle_spher1.jpg
Triangle_spher1.jpg (42.24 Kio) Consulté 26889 fois


D'ailleurs, je vois qu'il est aussi présent sur la figure que tu as postée plus haut.

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 00:43
par P.Fradin
Je vais charger la dernière version. Actuellement, j'utilise la version 1.95-beta-1.


Le bug ne sera corrigé que dans la prochaine version 1.95! En attendant tu peux jouer dans la macro dsphere, sur le 3ième paramètre (nombre de méridiens je crois), tu essayes 21 ou 19 (le problème vient d'un calcul arrondi qui ne donne donc pas la valeur exacte).

Pour les pôles, il faut les calculer, par exemple pour A' c'est +/- 3*normalize(Prodvec(B,C)) (le centre étant l'origine et 3 le rayon de la sphère), ensuite on calcule les deux normes Norm(A - * ) et Norm(A + *) pour décider qui est A'.
Je ferai un exemple demain matin, là c'est dodo!

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 00:47
par Eric
P.Fradin a écrit:
Je vais charger la dernière version. Actuellement, j'utilise la version 1.95-beta-1.


Le bug ne sera corrigé que dans la prochaine version 1.95! En attendant tu peux jouer dans la macro dsphere, sur le 3ième paramètre (nombre de méridiens je crois), tu essayes 21 ou 19 (le problème vient d'un calcul arrondi qui ne donne donc pas la valeur exacte).

Pour les pôles, il faut les calculer, par exemple pour A' c'est +/- 3*normalize(Prodvec(B,C)) (le centre étant l'origine et 3 le rayon de la sphère), ensuite on calcule les deux normes Norm(A - * ) et Norm(A + *) pour décider qui est A'.
Je ferai un exemple demain matin, là c'est dodo!


Pas de panique ;) Bonne nuit à toi aussi.

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 09:07
par P.Fradin
Voilà un exemple, j'ai modifié l'élément graphique du fichier triangleSpherique.teg ainsi:

Code: Tout sélectionner
[O:=[0,0],
 A:=3*normalize(M(1,1,5)), B:=3*normalize(M(1,1,0.25)),
 C:=3*normalize(M(0,1,0.5)),
 Color:=lightgray, Width:=2,
 dsphere([0,0],3,20,20),
 Color:=black, Width:=8,
 FillStyle:=full, FillColor:= lightblue,FillOpacity:=0.8,
 triangleS(O,3,A,B,C),

 {FillStyle:=none,
 grandCercle( O, 3, A,B,"c","O"),
 grandCercle( O, 3, A,C,"b","E"),
 grandCercle( O, 3, C,B,"a","S"),
 angleS(O,3,B,A,C,0.5,1,"$\alpha$"),
 angleS(O,3,C,B,A,0.5,1, "$\beta$"),
 angleS(O,3,A,C,B,0.5,1,"$\gamma$"),}

 A':=3*normalize(Prodvec(B,C)),
 if Prodscal(A,A')<0 then A':=-A' fi,
 B':=3*normalize(Prodvec(A,C)),
 if Prodscal(B,B')<0 then B':=-B' fi,
 C':=3*normalize(Prodvec(B,A)),
 if Prodscal(C,C')<0 then C':=-C' fi,
 FillStyle:=full, FillColor:=lightcyan,FillOpacity:=0.5,
 triangleS(O,3,A',B',C'),
 LabelDot3D(A',"$A'$","O",1),
 LabelDot3D(B',"$B'$","SO",1),
 LabelDot3D(C',"$C'$","E",1),

 LabelDot3D(A,"$A$","O",1),
 LabelDot3D(B,"$B$","SO",1),
 LabelDot3D(C,"$C$","E",1),
]


triangleSpherique.png
triangleSpherique.png (42.25 Kio) Consulté 26868 fois

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 09:40
par Eric
Merci !!!

J'ai fait la modif suivante dans ton code

Code: Tout sélectionner
FillStyle:=full, FillColor:=lightcyan,FillOpacity:=0.5,
triangleS(O,3,A',B',C'),
FillStyle:=none,
grandCercle( O, 3, C,B),
triangleS(O,3,A,B,C),
LabelDot3D(O,"$O$","S",1),
LabelDot3D(A',"$A'$","O",1),
LabelDot3D(B',"$B'$","SO",1),
LabelDot3D(C',"$C'$","E",1),


et j'ai mis les deux LineStyle en dotted dans la macro grandCercle.

Comment faire apparaître le rayon OA en pointillé ?

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 10:10
par P.Fradin
Eric a écrit:et j'ai mis les deux LineStyle en dotted dans la macro grandCercle.


Du coup cette macro ne sert à rien, car son intérêt est de distinguer la partie visible et la partie cachée. Autant faire:

Code: Tout sélectionner
LineStyle:=dotted, Cercle3D(O, Norm(B),Prodvec(B,C)), LineStyle:=solid,


Comment faire apparaître le rayon OA en pointillé ?


Là c'est presque trop facile...

Code: Tout sélectionner
LineStyle:=dotted, Cercle3D(O, Norm(B),Prodvec(B,C)), Ligne3D( [O,A],0), LineStyle:=solid,

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 11:29
par Eric
Je te remercie. Voila le résultat.
Triangle_spher1.jpg
Triangle_spher1.jpg (35.97 Kio) Consulté 26857 fois

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 11:33
par P.Fradin
Pour l'ellipse parasite as-tu essayé de changer le troisième paramètre de dpshere?

Code: Tout sélectionner
dsphere([0,0],3,19,20) ou dsphere([0,0],3,21,20),

Re: Pôles d'un grand cercle

MessagePublié: 03 Nov 2010 11:59
par Eric
Je n'ai rien changé, j'attends la nouvelle version 1.95 ;) (je bosse sur un projet qui, s'il est publié, ne le sera que dans quelques mois).