Courbe hélicoïdale

Courbe hélicoïdale

Messagepar Woodoo7 » 12 Nov 2012 20:22

Salut à tous,

j'ai une question concernant un graphique:
est-il possible d'ajouter un trait entre deux spires de ma spirale, pour dire que la hauteur entre deux spires vaut a?

J'ai ce code pour l'instant:
Code: Tout sélectionner
[
 Marges(0,0,0,0), size(9),
 background(full, white),
 Axes3D(0,0,0,1,1,1),
 Courbe3D(M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2))
]

Image

Et s'il est possible de réduire un peu la taille de la spirale, c'est bien :D !

Merci d'avance!

Laurent
Woodoo7
 
Messages: 24
Inscription: 02 Nov 2012 23:25

Re: Courbe hélicoïdale

Messagepar P.Fradin » 12 Nov 2012 23:32

Bonsoir,

Ceci par exemple ?
Code: Tout sélectionner
[
Marges(0,0,0,0), size(9),
background(full, white),
Axes3D(0,0,0,1,1,1),
tMin:=-pi, tMax:=pi, NbPoints:=100, Width:=8,
Courbe3D(M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2)),
t:=-120*deg,
B:=M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2),
Inc(t,2*pi/2.5),  A:=B+pi/2.5*vecK,
LabelSeg(Proj3D(A),Proj3D(B),"$a$",[Arrows:=2,rotation:=0])
]

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

Re: Courbe hélicoïdale

Messagepar Woodoo7 » 12 Nov 2012 23:44

J'ai envie de répondre la même chose que plus ou moins tous les utilisateurs qui reçoivent une de vos réponses; c'est pas un exemple, c'est parfait :D !

Merci beaucoup pour vos réponses toujours très rapides et excellentes :P .

Bonne soirée!

Laurent

Edit: J'ai encore une question:

j'ai modifié le code pour voir l'intersection de la courbe avec le plan Oxy (s'il y en a une), mais ça ne donne pas ce que je veux:

Image

Code: Tout sélectionner
[
 Marges(0,0,0,0), size(9),
 background(full, white),
 Arrows:=1,
 Axes3D(0,0,0,1,1,1),

 L:=for t from -pi to pi step 0.1 do [2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2] od,
 Ligne1:=Courbe3D(M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2)),
 P:=[Origin,vecK],
 C:=interLP(L,P),

 Build3D(
  bdPlan(P, [color:=limegreen, FillColor:=limegreen,FillStyle:=full, opacity:=0.5, border:=1)],
  bdCurve(Ligne1, [Width:=8]),
  bdDot(C, [color:=red, dotscale:=5])
  ),

 Display3D()
]
Woodoo7
 
Messages: 24
Inscription: 02 Nov 2012 23:25

Re: Courbe hélicoïdale

Messagepar Woodoo7 » 13 Nov 2012 22:28

Bonsoir,

j'ai amélioré un peu mon code aujourd'hui, et j'arrive plus ou moins à ce que je veux. Néanmoins il reste quelques détails que je n'arrive pas à règler.
Le rendu n'est pas mal, mais je pense qu'au niveau du code on peut faire plus propre... :?

Tout d'abord le point d'intersection ne s'affiche pas, ensuite le petit segment $a$ entre les deux spires n'est pas dans la macro Build3D, alors est-ce qu'il est possible de l'y inclure? De plus, est-il possible de réduire la longueur des axes dans la macro Build3D (comme la commande xlimits:=[-4,4] par exemple)?

Après tout ça je pense que je serai enfin content avec ce graphique :D ! Merci d'avance et bonne soirée!

Donc voila le code de l'image:
Code: Tout sélectionner
[
 Marges(0,0,0,0), size(10),
 background(full,white),
 plan:=[Origin, vecK], hiddenLines:=1,
 f:=M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2),
 Build3D(
        bdPlan(plan,[color:=limegreen, scale:=0.85, opacity=0.5, border:=1, bordercolor:=darkgreen]),
        bdCurve(M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2) ,[t:=[-pi,pi], color:=pink, nbdot:=100, arrows:=1]),
        bdDot(Intersec(f,plan), [color:=red, dotscale:=5]),
        bdAxes(Origin, [arrows:=1, scale:=0.8, labels:=1])
        ),
 Display3D(),
 t:=23*deg,
 B:=M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2),
 Inc(t,2*pi/2.5),  A:=B+pi/2.5*vecK,
 LabelSeg(Proj3D(A),Proj3D(B),"$a$",[Arrows:=2,rotation:=0])
]


et le rendu:

Image
Woodoo7
 
Messages: 24
Inscription: 02 Nov 2012 23:25

Re: Courbe hélicoïdale

Messagepar P.Fradin » 13 Nov 2012 23:18

Bonsoir,

Je te propose ceci:
Code: Tout sélectionner
[
Marges(0,0,0,0), size(10),
background(full,white),
view3D(-5,5,-5,5,-5,5),
plan:=[Origin, vecK], hiddenLines:=1,
NewMac("f", "M(2.5*cos(2.5*t), 2.5*sin(2.5*t), t/2)",t),//création fonction f
t:=23*deg, B:=f(t), Inc(t,2*pi/2.5), A:=B+pi/2.5*vecK, //calcul A et B
C:= for t from -pi to pi step (2*pi)/99 do f(t) od, //courbe de f
I:=interLP(C,plan), //interection ligne polygonale - plan
Build3D(
       bdPlan(plan,[color:=limegreen, scale:=0.85, opacity=0.5, border:=1, bordercolor:=darkgreen]),
       bdCurve(f(t),[t:=[-pi,pi], color:=pink, nbdot:=100, arrows:=1]),
       bdDot(I, [color:=red, dotscale:=1, dotstyle:=cube]),
       bdLine( [A,B], [arrows:=2]),
       bdLabel( (A+B)/2, "$a$", [labelstyle:=left, labelpos:=[0.25,1]]),
       x:=4.5,view3D(-x,x,-x,x,-x,x),
       bdAxes(Origin, [arrows:=1, scale:=0.8, labels:=1])
       ),
Display3D()
]

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

Re: Courbe hélicoïdale

Messagepar Woodoo7 » 13 Nov 2012 23:44

Je crois que je n'aurais pas pu rêver mieux! C'est pile ce qu'il me faut! :)

Merci beaucoup pour ton aide et ton temps passé à m'aider!

Une excellente soirée et une bonne continuation :D
Woodoo7
 
Messages: 24
Inscription: 02 Nov 2012 23:25


Revenir vers Géométrie de l'espace

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron