Des figures bêtes en 3D

Des figures bêtes en 3D

Messagepar Eric » 12 Août 2009 11:31

Très loin des polyèdres d'Alphonse, j'ai quelques figures 3D très basiques à réaliser.
230.jpg
230.jpg (16.2 Kio) Consulté 28578 fois
233.jpg
233.jpg (19.3 Kio) Consulté 28579 fois
239.jpg
239.jpg (12.67 Kio) Consulté 28578 fois


Comment réaliser ceci (si ce n'est pas trop demander) ?

Merci
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar P.Fradin » 12 Août 2009 11:43

Une figure 3D n'est jamais basique! Je te répondrai en détails cet après-midi, je dois m'absenter.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Des figures bêtes en 3D

Messagepar P.Fradin » 12 Août 2009 15:35

Voilà une proposition pour les trois. Attention, je crois que certaines macros ne marchent qu'avec la dernière version test:



Code: Tout sélectionner
[theta:=22*deg, phi:=63*deg,
SetMatrix3D(matrix3d(rot3d(M, [Origin, \n], -pi/6))),
view3D(-4,4,-4,4,-4,4), V:=vecK, A:=[3*exp(-i*pi/4),0], B:=[3.5*exp(i*pi/4),0],
A':=normalize(A), B':=normalize(B),
Build3D(
        bdDroite( [Origin, V], [arrows:=1]),
        bdPlan( [Origin,V], [color:=white, border:=1, contrast:=0.125]),
        ),
Display3D(), Width:=8,
Arrows:=1,Arc3D(vecI,Origin,vecI,1,1,vecK),
Arc3D(A,Origin,B,2.5,1),
Arrows:=0,
LineStyle:=dashed, Ligne3D([A,Origin,B],0),
LineStyle:=solid, Point3D(Origin),
LabelDot3D(A',"$y$","SO",1,0.1), LabelDot3D(B',"$gy$","SO",1,0.1),
LabelDot3D(Zsup*vecK,"$x$","NE"), LabelDot3D([2.5,0],"$\alpha$","SO")]
EricEspace1.png
EricEspace1.png (12.01 Kio) Consulté 28547 fois
Code: Tout sélectionner
[theta:=40*deg, phi:=65*deg, Width:=8,
view3D(0,6,0,5,0,4.5),
IdMatrix3D(),R:=3, z:=1.75, x:=[sqrt(R^2-z^2)*exp(i*80*deg),z],
intersec:=Intersection([M(0,0,z),vecK], Sphere(Origin,R)),
HideStyle:=dashed, DrawAretes(intersec), Cercle(0,R), Point3D(Origin),
Build3D( bdAxes(Origin, [arrows:=1, labels:=0]) ), Display3D(),
Ligne3D([Origin, x],0), Arrows:=1, Arc3D(vecK,Origin,x,1,1), Arrows:=0,
LabelDot3D(Xsup*vecI,"$1$","SO",0,0.1),
LabelDot3D(Ysup*vecJ,"$2$","SE",0,0.1),
LabelDot3D(Zsup*vecK,"$3$","N",0,0.1),
LabelDot3D(x,"$x$","S",1,0.1),
LabelDot3D([0,1],"$\varphi$","O",0,0.1) ]
EricEspace2.png
EricEspace2.png (11.19 Kio) Consulté 28544 fois
Code: Tout sélectionner
[theta:=40*deg, phi:=50*deg, Width:=8,
view3D(0,6,0,5,0,5), r:=3.5, z:=r+0.75, a:=[r,0], b:=[r*i,0], c:=[0,r],
Point3D(Origin), alpha:=40*deg,
Build3D( bdAxes(Origin, [arrows:=1, labels:=0]) ), Display3D(),
Arc3D(a,Origin,c,r,1), Arc3D(a,Origin,b,r,1), Arc3D(b,Origin,c,r,1),
Arrows:=1, a1:=exp(i*(-3*pi/4+alpha/2)), a2:= exp(i*(5*pi/4-alpha/2)),
Arc3D([a1,z],[0,z],[a2,z] ,0.5,-1),
Arc3D([Im(a1)+i*z,Re(a1)],[i*z,0],[Im(a2)+i*z,Re(a2)] ,0.5,-1),
Arrows:=0,
LabelDot3D(Xsup*vecI,"$1$","SO",0,0.1),
LabelDot3D(Ysup*vecJ,"$2$","SE",0,0.1),
LabelDot3D(Zsup*vecK,"$3$","N",0,0.1),
LabelDot3D(a,"$a$","S",1,0.2),LabelDot3D(b,"$b$","NE",1,0.2),
LabelDot3D(c,"$c$","E",1,0.2),
LabelDot3D([0,z],"$g_2$","E",0,0.75), LabelDot3D([i*z,0],"$g_1$","NE",0,0.55)]
EricEspace3.png
EricEspace3.png (10.18 Kio) Consulté 28541 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Des figures bêtes en 3D

Messagepar Eric » 12 Août 2009 16:49

Je te remercie. Je vais regarder cela de près. Au besoin, je chargerai la dernière version (j'ai la 7.2 sur ma machine).
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar Eric » 13 Août 2009 10:22

Parfait !! Je te remercie !

Dans la foulée, j'ai recopié ce que tu as fait en simplifiant pour une quatrième figure.

Code: Tout sélectionner
[theta:=22*deg, phi:=40*deg,
SetMatrix3D(matrix3d(rot3d(M, [Origin, \n], -pi/6))),
view3D(-4,4,-4,4,-4,4), V:=vecK, A:=[3*exp(-i*pi/2),0], B:=[3.5*exp(i*pi/2),0],
A':=normalize(A), B':=normalize(B),
Build3D(
        bdDroite( [Origin, V], [arrows:=1])
        ),
Display3D(), Width:=8,
Arrows:=1,Arc3D(vecI,Origin,vecI,1,1,vecK),
Arrows:=0,
LineStyle:=solid, Point3D(Origin),
LabelDot3D(A',"$x$","NO",1,0.1), LabelDot3D(B',"$y=gkg^{-1}x$","SE",1,0.1),
LabelDot3D(Zsup*vecK,"$gn$","NE")
]


Le problème est que je voudrais que le morceau d'axe qui passe sous le cercle disparaisse. Comment faire cela ?
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar P.Fradin » 13 Août 2009 10:35

Bonjour Eric,

Je te propose ceci:

Code: Tout sélectionner
[theta:=22*deg, phi:=40*deg,
SetMatrix3D(matrix3d(rot3d(M, [Origin, \n], -pi/6))),
view3D(-4,4,-4,4,-4,4), V:=vecK, A:=[exp(-i*pi/2),0], B:=[exp(i*pi/2),0],
Width:=8, Arrows:=1,
Ligne3D([Origin, Zsup*V],0), Arc3D(vecI,Origin,vecI,1,1,vecK),
Arrows:=0, LineStyle:=solid, Point3D(Origin),
LabelDot3D(A,"$x$","NO",1,0.1), LabelDot3D(B,"$y=gkg^{-1}x$","SE",1,0.1),
LabelDot3D(Zsup*V,"$gn$","NE")
]


Comme il n'y a pas de gestion de parties cachées on peut tracer le segment flêché sans Build3D.

EricEspace4.png
EricEspace4.png (5.62 Kio) Consulté 28509 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Des figures bêtes en 3D

Messagepar Eric » 13 Août 2009 10:47

Je veux quand même voir la "queue" de l'axe, ce qui se voit à gauche parce que non recouvert par le cercle (je sais, je suis difficile).
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar P.Fradin » 13 Août 2009 11:09

Alors c'est un disque :lol: !

Code: Tout sélectionner
[theta:=22*deg, phi:=40*deg,
SetMatrix3D(matrix3d(rot3d(M, [Origin, \n], -pi/6))),
view3D(-4,4,-4,4,-4,4), V:=vecK, A:=[exp(-i*pi/2),0], B:=[exp(i*pi/2),0],
Width:=8,
Ligne3D([Zinf*V,Origin],0), FillStyle:=full,
Arrows:=1, Arc3D(vecI,Origin,vecI,1,1,vecK), FillStyle:=none,
Ligne3D([Origin, Zsup*V],0),
Arrows:=0, LineStyle:=solid, Point3D(Origin),
LabelDot3D(A,"$x$","NO",1,0.1), LabelDot3D(B,"$y=gkg^{-1}x$","SE",1,0.1),
LabelDot3D(Zsup*V,"$gn$","NE")
]


EricEspace4b.png
EricEspace4b.png (5.23 Kio) Consulté 28502 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Des figures bêtes en 3D

Messagepar Eric » 13 Août 2009 11:33

P.Fradin a écrit:Alors c'est un disque :lol: !


Effectivement, ça doit s'appeler comme ça ... :oops:
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar Eric » 27 Déc 2009 16:05

Je rouvre ce fil pour une figure 3D.

Je souhaite visualiser la projection stéréographique. Pratiquement, je voudrais avoir une sphère centrée en 0 (j'ai trouvé la commande Sphere pour ça), une visualisation du plan complexe (et je n'ai pas tout compris aux paramètres du bouton Plan dans le module 3D) et une demi-droite partant du pôle nord (N), coupant la sphère en a et le plan complexe en S(a).

Comment faire une telle scène ?
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar P.Fradin » 27 Déc 2009 16:43

Quelque chose comme ça?:

Code: Tout sélectionner
[
view(-8,8,-8,8,), Marges(0,0,0,0), size(8),
view3D(-5,7,-5,7,-3,5),
FillStyle:=full, FillColor:=lightgray,
plan:= [M(0,0,-3),vecK],
DrawPlan( plan, vecJ, 12,12,-3),
Arrows:=1, Axes3D(0,0,-3), Arrows:=0,
FillColor:=white,
Dsphere(Origin, 3,2), Nord:=M(0,0,3), a:=3*normalize( M(1,1,0) ),
Ligne3D([Nord, M(0,0,Zsup)],0),
Sa:=interDP( [Nord,a-Nord], plan),
Width:=8, LineStyle:=dotted,
Ligne3D([Nord,a],0),
Ligne3D([M(Xinf,0,-3),M(Xsup,0,-3),jump,M(0,Yinf,-3),M(0,Ysup,-3),jump,M(0,0,Zinf),M(0,0,Zsup)],0),
LineStyle:=solid,
Ligne3D([a,Sa],0),
LabelDot3D(Nord, "$N$", "NE", 1), LabelDot3D(a, "$a$", "NE", 1),
LabelDot3D(Sa, "$S(a)$", "E", 1)
]


projStereog.png
projStereog.png (10.93 Kio) Consulté 28277 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Des figures bêtes en 3D

Messagepar Eric » 27 Déc 2009 17:16

J'ai collé ton code dans un élément utilisateur mais je n'obtiens pas la même chose que toi. Il y a une translation par rapport à l'origine.
Pièces jointes
Compl_6_4.jpg
Compl_6_4.jpg (24.71 Kio) Consulté 28269 fois
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar Eric » 27 Déc 2009 17:19

Après chargement de la mise à jour de Scene3D, ça va mieux.

comment ajouter le Label "$\mathds{C}$" dans un coin du plan ?
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar Eric » 27 Déc 2009 17:27

Autre question sur la même figure. Je ne vois pas la commande qui affiche x, y et z. Comment faire pour que ceux-ci deviennent $x$, $y$ et $z$ (et se retrouvent donc un italique au final) ?
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar P.Fradin » 27 Déc 2009 17:57

Pour les axes, j'ai du remettre à jour scene3d.mac encore une fois (normalement les dollars y sont) ...

Pour la légende:

Code: Tout sélectionner
[
view(-8,8,-8,8,), Marges(0,0,0,0), size(8),
view3D(-5,7,-5,7,-3,5),
FillStyle:=full, FillColor:=lightgray,
plan:= [M(0,0,-3),vecK],
DrawPlan( plan, vecJ, 12,12,-3),
Arrows:=1, Axes3D(0,0,-3), Arrows:=0,
FillColor:=white,
Dsphere(Origin, 3,2), Nord:=M(0,0,3), a:=3*normalize( M(1,1,0) ),
Ligne3D([Nord, M(0,0,Zsup)],0),
Sa:=interDP( [Nord,a-Nord], plan),
Width:=8, LineStyle:=dotted,
Ligne3D([Nord,a],0),
Ligne3D([M(Xinf,0,-3),M(Xsup,0,-3),jump,M(0,Yinf,-3),M(0,Ysup,-3),jump,M(0,0,Zinf),M(0,0,Zsup)],0),
LineStyle:=solid,
Ligne3D([a,Sa],0),
LabelDot3D(Nord, "$N$", "NE", 1), LabelDot3D(a, "$a$", "NE", 1),
LabelDot3D(Sa, "$S(a)$", "E", 1),
LabelDot3D( M(5,-6,-3), "$\mathcal C$","E")
]


projStereo.png
projStereo.png (12.03 Kio) Consulté 28245 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Des figures bêtes en 3D

Messagepar Eric » 27 Déc 2009 18:12

Super !
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar Eric » 02 Avr 2010 10:39

Salut Patrick

J'ai une nouvelle scène en 3D à réaliser (les auteurs russes ont modifié la solution d'un exercice ... et la figure qui allait avec ...).
cyl2.jpg
cyl2.jpg (54.1 Kio) Consulté 28053 fois


Il s'agit de l'intersection d'un cylindre et d'un plan dans lequel trois points sont représentés.

Comment procèdes-tu pour réaliser cela ?
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Des figures bêtes en 3D

Messagepar P.Fradin » 02 Avr 2010 12:28

Salut Eric,

Je te propose ceci:

Code: Tout sélectionner
[
theta:=50*deg, phi:=60*deg, view(-4,4,-4,4), Marges(0,0,0,0), size(9),
C:=Cylindre( M(0,0,-2), 4*vecK,3, 45),
P:=[Origin, M(1,0,3)],
A:=[M(2,0,0), M(-1.5,1.5,0), M(-1.5,-1.5,0)],
A:=proj3dO(A,P,vecK),
I:=Intersection(P,C,F),
FillStyle:=bdiag,FillColor:=black,
LineStyle:=noline, Ligne3D( F,1),
LineStyle:=solid, Width:=8, FillStyle:=none, HideStyle:=dashed,
DrawAretes(I,0),
Dcylindre( M(0,0,-2), 4*vecK,3,0), Point3D(A)
]


cylindre3.png
cylindre3.png (18.59 Kio) Consulté 28045 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Des figures bêtes en 3D

Messagepar Eric » 02 Avr 2010 13:53

Je te remercie, c'est parfait (j'ai juste changé les dimensions).
Eric
 
Messages: 298
Inscription: 07 Août 2009 21:05
Localisation: Asnieres


Revenir vers Géométrie de l'espace

Qui est en ligne ?

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

cron