Tranche de sphère

N'oubliez pas de consulter les sujets avant de poser votre question, merci.

Tranche de sphère

Messagepar Karine Brunel » 17 Jan 2021 23:13

Bonjour,
Je voudrais si possible faire apparaître d'une autre couleur que celle de la sphère bleue la tranche comprise entre H et H' (épaisseur dz)
Si c'est plus simple, il n'est pas indispensable que la sphère soit colorée (on peut juste représenter son contour)

apercu2.pdf
(105.41 Kio) Téléchargé 241 fois


EM2021SphereChpBMomentMag.teg
(7.23 Kio) Téléchargé 236 fois



J'avoue que je n'ai pas trop cherché :oops: ... mais déjà, est-ce possible ? :?: Si oui, je veux bien une piste
D'avance merci


Question qui n'a rien à voir... (peut-être devrais-je ouvrir un autre fil ?) : le fichier joint comprend un certain nb de macros. Pour pouvoir y accéder facilement (lors de l'écriture d'un autre fichier teg), est-ce que je peux (facilement) les copier dans le dossier : /home/karine/.TeXgraph/TeXgraphMac/ ?
J'ai vu qu'il y avait les macros fournis par TeXgraph...
Karine Brunel
 
Messages: 137
Inscription: 25 Sep 2009 21:28

Re: Tranche de sphère

Messagepar Karine Brunel » 18 Jan 2021 12:20

En fait, je voudrais également, construire un tore en périphérie de cette tranche (contour fermé de section $ r \mathrm{d}\theta \times\mathrm{d}r $ et qui suit un parallèle à la cote $ z=r \cos \theta $ ; $ r $ étant le rayon de la sphère bleue du post précédent)

J'ai essayé avec la commande bdTorus, mais je ne parviens pas à "régler" la section du tore : elle est beaucoup trop grande par rapport à ce que je veux. Pourtant, il me semble avoir déclaré correctement les rayons (et comme ils sont proches en valeur, dans mon idée, le tore devrait avoir une section faible... mais ce n'est pas du tout le cas!!

apercu3.pdf
(157.16 Kio) Téléchargé 242 fois


EM2021SphereChpBMomentMagTore.teg
(7.36 Kio) Téléchargé 234 fois


Je ne comprends pas mon erreur...
Une suggestion ?
D'avance merci
Karine
Karine Brunel
 
Messages: 137
Inscription: 25 Sep 2009 21:28

Re: Tranche de sphère

Messagepar P.Fradin » 18 Jan 2021 12:29

Bonjour Karine,

Pour la sphère il faut découper la sphère en trois tranches :

Code: Tout sélectionner
[ Ra:=10*sqrt(2), view(-Ra -1,Ra+2,-Ra -1,Ra+2), size(15,1),
                view3D(-Ra -1,Ra+1,-Ra -1,Ra+1,-Ra -1,Ra+1),
                {Paramètres de la sphère}
                Rs:=0.75*Ra,Os:=Msph(0,0,0),
                {Pt A sur la grande sphère pour définir son rayon}
                ThetaA:=pi/2, PhiA:=-pi/3, A:=Msph(Rs,ThetaA,PhiA),
                mOA:=Msph(Rs/2,ThetaA,PhiA),  {milieu du segment OA}
                {M=Mr : Pt sur la sphère pour calculer le moment}
                Rm:=2*Rs/3,thetaM:=pi/4, phiM:=pi/2,
                Mr:= Msph(Rm,thetaM,phiM),
                {moins visible, donc on ne mets que la base mobile sur le pt M'}
                {mOM:=Msph(Rm/2,thetaM,phiM),   milieu du segment OM}
                {RepMobSph(Mr),    base mobile sphérique en M}
                {}
                d:=Rm*sin(thetaM),   {distance à l'axe z}
                zM:=Rm*cos(thetaM),
                {M'=dMr=M+\dM : pour faire la petite bande de courant}
                DthetaM:=pi/50,
                Mprime:= Msph(Rm,thetaM+DthetaM,phiM),
                mOMprime:=Msph(Rm/2,thetaM+DthetaM,phiM),   {milieu du segment OM'}
                RepMobSph(Mprime),    {base mobile sphérique en M'}
                dd:=Rm*sin(thetaM+DthetaM),   {distance à l'axe z}
                {Coord pts pour chp Bext}
                B1:=M(Rs/2,-Rs/2,-Rs -3), B2:=M(Rs/2,+Rs/2,-Rs -3),
                B3:=M(Rs/2,-Rs/2,-1), B4:=M(Rs/2,+3*Rs/2,-1),
                B5:=M(Rs/2,-Rs/2,Rs +1), B6:=M(Rs/2,+Rs/2,Rs +1),
                N:=3, {longueur vecteur B}
                {pt pour label champ B}
                mB2:=B2+N/2*vecK, mB5:=B5+N/2*vecK,
                Oc:=pz(Mr),{Projeté de M sur Oz}
                mHM:=(Mr + Oc)/2, {milieu de HM}
                Ocprime:=pz(Mprime),{Projeté de M' sur Oz}
                mHHprime:=(Oc+Ocprime)/2,   {milieu de HH'}
                // découpage de la sphère
                S:=Sphere(Os,Rm),
                S1:=ClipFacet(S, [Ocprime,-vecK]),
                S3:=ClipFacet(S, [Oc,-vecK]),
                S2:=ClipFacet(S3, [Ocprime,vecK]),
                S3:=ClipFacet(S, [Oc,vecK]),
                Build3D( bdAxes([0,0],[arrows:=1,color:=firebrick]),
                         bdSphere(Os,Rs,[color:=white,contrast:=0.5, opacity:=0.15, border:=1,twoside:=1,hidden:=0]),
                         bdCercle(Os,Rs,vecK,[color:=darkgray,linestyle:=dashed]),
                         //bdSphere(Os,Rm,[color:=blue,contrast:=1, opacity:=0.35, border:=1,twoside:=1]),
                         // affichage des trois tranches
                         bdFacet(S1,[color:=blue,contrast:=1, opacity:=0.35]),
                         bdFacet(S2,[color:=red,contrast:=1, opacity:=0.35]),
                         bdFacet(S3,[color:=blue,contrast:=1, opacity:=0.35]),
                         //fin
                         bdCercle(Os,Rm,vecK,[color:=blue,linestyle:=dashed]),
                         bdDot(A,[dotstyle:=4,dotscale:=1]),
                         bdLine([A,Origin],[color:=black,linestyle:=solid]),
                         bdLabel(mOA,"$R$",[labelpos:=[0.3,i -1],labelsize:=small]),
                         bdLine([Origin,Mr],[color:=blue,width:=10,linestyle:=dotted]),
                         bdLine([Origin,Mprime],[color:=blue,width:=10]),
                         {bdArc(M(2,0,0),Origin,m,3,1,[arrows:=1,labelarc("$\theta$"),normal:=vecK]),}
                         bdLabel(Mr,"$M$",[labelpos:=[0.25,1*i],labelsize:=small]),
                         bdLine([Origin,dMr],[color:=blue,width:=12]),
                         {bdArc(M(2,0,0),Origin,m,3,1,[arrows:=1,labelarc("$\theta$"),normal:=vecK]),}
                         bdLabel(Mprime,"$M'$",[labelpos:=[0.25,0.75*i -2],labelsize:=small]),
                         bdLabel(mOMprime,"$r$",[color:=blue,labelpos:=[0.95,1.5+i],labelsize:=small]),
                         bdArc(Oc,Os,Mr,Rm/3,1,[color:=black,width:=8,arrows:=1,labelsize:=small,labelarc("$\theta$")]),
                         bdArc(Mr,Os,Mprime,Rm/2.35,1,[color:=blue,width:=8,arrows:=0,labelsize:=small]),
                         bdArc(Mr,Os,Mprime,Rm/2.2,1,[color:=blue,width:=8,arrows:=0,labelpos:=[0.25,1*i -1],labelsize:=small,labelarc("$d\theta$")]),
                         bdLabel(Os,"$O$",[labelpos:=[0.3,-0.2+i],labelsize:=small]),
                         bdCercle(Oc,d,vecK,[color:=black,linestyle:=dotted]), 
                         bdCercle(Ocprime,dd,vecK,[color:=black,linestyle:=dotted]),
                         bdLine([Oc,Mr],[color:=black,linestyle:=dotted]),
                         bdDot(Oc,[dotstyle:=4,dotscale:=1]),
                         bdLabel(Oc,"$H$",[labelpos:=[0.5,-1+i],labelsize:=small]),
                         bdLabel(mHM,"$\rho$",[labelpos:=[0.3,-1+2*i],labelsize:=small]),
                         bdLine([Ocprime,Mprime],[color:=black,linestyle:=dotted]),
                         bdDot(Ocprime,[dotstyle:=4,dotscale:=1]),
                         bdLabel(Ocprime,"$H'$",[labelpos:=[0.5,-1- i],labelsize:=small]),   
                         bdLabel(mHHprime,"$d z$",[labelpos:=[0.5,-1],labelsize:=small]),
                         bdDot([B1,B2,B3,B4,B5,B6],[dotstyle:=cross,dotscale:=2]),
                         {Vecteurs chap Bext}
                         bdLine([B1,B1+N*vecK],[color:=forestgreen,linestyle:=solid,width:=15,arrows:=1,arrowscale:=2,tube:=1]),
                         bdLine([B2,B2+N*vecK],[color:=forestgreen,linestyle:=solid,width:=15,arrows:=1,arrowscale:=2,tube:=1]),
                         bdLine([B3,B3+N*vecK],[color:=forestgreen,linestyle:=solid,width:=15,arrows:=1,arrowscale:=2,tube:=1]),
                         bdLine([B4,B4+N*vecK],[color:=forestgreen,linestyle:=solid,width:=15,arrows:=1,arrowscale:=2,tube:=1]),
                         bdLine([B5,B5+N*vecK],[color:=forestgreen,linestyle:=solid,width:=15,arrows:=1,arrowscale:=2,tube:=1]),
                         bdLine([B6,B6+N*vecK],[color:=forestgreen,linestyle:=solid,width:=15,arrows:=1,arrowscale:=2,tube:=1]),
                         bdLabel(mB2,"$\overrightarrow{B}=B_0\cos(\omega t)\overrightarrow{u}_z$",[color:=forestgreen,labelpos:=[1.95,1],labelsize:=small]),
                         bdLabel(mB5,"$\overrightarrow{B}$",[color:=forestgreen,labelpos:=[0.5,-1],labelsize:=small]),
                         ),
                Display3D()
                    ]

tranche_Sphere.png
tranche_Sphere.png (54.61 Kio) Consulté 2363 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1835
Inscription: 29 Oct 2008 15:04

Re: Tranche de sphère

Messagepar Karine Brunel » 18 Jan 2021 12:31

Bonjour Patrick,
Merci beaucoup, c'est pile ça! comme toujours!
Et en plus rapide!
Karine Brunel
 
Messages: 137
Inscription: 25 Sep 2009 21:28

Re: Tranche de sphère

Messagepar P.Fradin » 18 Jan 2021 12:35

Pour le tore, le deuxième rayon est celui de la section, je dirais donc plutôt :
Code: Tout sélectionner
bdTorus(mHHprime,Rm,dRm,vecK,[color:=magenta])
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1835
Inscription: 29 Oct 2008 15:04

Re: Tranche de sphère

Messagepar Karine Brunel » 18 Jan 2021 12:48

Ah oui! J'ai mal interprété ce que j'ai lu sur la doc... en pensant grand rayon = rayon extérieur et petit rayon = rayon intérieur ; mais c'était bête de ma part!!
Bref, oui, ça marche maintenant!! of course!

Une dernière question... serait-il possible de ne pas "fermer" ce tore ? par exemple en choisissant de faire varier l'angle autour de vecteur3Dnormal de $ \alpha_1 $ à $ \alpha_2 $ ?
Pas grave, si ce n'est pas possible!
Encore merci pour ta réponse rapide et précise.
Karine Brunel
 
Messages: 137
Inscription: 25 Sep 2009 21:28


Revenir vers Questions - Réponses

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités

cron