ex4.mw

Exercice 4

On défnit la paramétrisation, puis on construit le support partiel et sir la totalité des paramètres

> restart;

> x:=t->R*(t-sin(t));y:=t->R*(1-cos(t));

x := proc (t) options operator, arrow; R*(t-sin(t)) end proc

y := proc (t) options operator, arrow; R*(1-cos(t)) end proc

> total:=[x(t),y(t),t=-15..15]: partiel:=[x(t),y(t),t=0..Pi]:

> R:=1:plot([total,partiel],color=[blue,red],thickness=[1,2]);R:='R':

[Plot]

Calculons le vecteur vitesse

> V:=unapply([D(x)(t),D(y)(t)],t);

V := proc (t) options operator, arrow; [R*(1-cos(t)), R*sin(t)] end proc

Cet arc n'est donc pas régulier les points de parametre multiple pair de Pi sont stationnaires

>

vérifions que (sin t/2, cos t/2) dirige les tangentes en des points régulierrs.

> Vu:=subs(t=2*u,V(t));

Vu := [R*(1-cos(2*u)), R*sin(2*u)]

> Vu:=expand(Vu);

Vu := [2*R-2*R*cos(u)^2, 2*R*sin(u)*cos(u)]

> Vt:=subs(u=t/2,Vu);

Vt := [2*R-2*R*cos(1/2*t)^2, 2*R*sin(1/2*t)*cos(1/2*t)]

Vu que t n'est pas multiple pair de Pi on peut simplifier cettte expression par R sint/2, ce qui nous donne encore un vecteur directeur de la tangente

> direct_t:=(1/(2*R*sin(t/2)))*Vt;

direct_t := 1/2*[2*R-2*R*cos(1/2*t)^2, 2*R*sin(1/2*t)*cos(1/2*t)]/(R*sin(1/2*t))

> direct_t:=simplify(expand(direct_t));

direct_t := [sin(1/2*t), cos(1/2*t)]

CQFD pour les points réguliers.

Regardons le cas des points stationnaires

Vérifions la limite du taux d'accroissement en 2k*Pi avec k entier

> assume(k,integer):

> Limit((y(t)-y(2*k*Pi))/(x(t)-x(2*k*Pi)),t=2*k*Pi)=limit((y(t)-y(2*k*Pi))/(x(t)-x(2*k*Pi)),t=2*k*Pi);

Limit((1-cos(t))/(t-sin(t)), t = 2*k*Pi) = undefined

Essayons alors celle de la valeur absolue du taux d'accroissment

> Limit(abs((y(t)-y(2*k*Pi))/(x(t)-x(2*k*Pi))),t=2*k*Pi)=limit(abs((y(t)-y(2*k*Pi))/(x(t)-x(2*k*Pi))),t=2*k*Pi);

Limit(abs(R*(1-cos(t))/(R*(t-sin(t))-2*R*k*Pi)), t = 2*k*Pi) = infinity

On en déduit donc une tangente verticale aux points de paramètre 2*k*Pi (k entier), d'où un vecteur directeur pour les points stationnaire

> direct_2kpi:=[0,(-1)^k];

direct_2kpi := [0, (-1)^k]

> eval(subs(t=2*k*Pi,direct_t));

[0, (-1)^k]

Or ceci correspond encore à (sin t/2, cos t/2)

> eval(subs(t=2*k*Pi,direct_t));

[0, (-1)^k]

CQFD... Pour tous les points

>

La normale à en M(t) à la courbe est la droite passant par M(t) de vecteur normal direct_t, d'où l'équation cartésienne

> with(linalg):

> Eq_normale:=dotprod(vector([x-x(t),y-y(t)]),vector(direct_t),orthogonal)=0;

Eq_normale := (x-R*(t-sin(t)))*sin(1/2*t)+(y-R*(1-cos(t)))*cos(1/2*t) = 0

> Eq_normale:=expand(Eq_normale);

Eq_normale := sin(1/2*t)*x-sin(1/2*t)*R*t+sin(1/2*t)*R*sin(t)+cos(1/2*t)*y-cos(1/2*t)*R+cos(1/2*t)*R*cos(t) = 0

>

Voici l'équaion obtenu à partir des coefficiesnt dérivés

> Eq_normale_prime:=diff(Eq_normale,t);

Eq_normale_prime := 1/2*cos(1/2*t)*x-1/2*cos(1/2*t)*R*t-1/2*R*sin(1/2*t)-1/2*cos(1/2*t)*R*sin(t)+1/2*sin(1/2*t)*R*cos(t)-1/2*sin(1/2*t)*y = 0

> systeme:={Eq_normale,Eq_normale_prime};

systeme := {1/2*cos(1/2*t)*x-1/2*cos(1/2*t)*R*t-1/2*R*sin(1/2*t)-1/2*cos(1/2*t)*R*sin(t)+1/2*sin(1/2*t)*R*cos(t)-1/2*sin(1/2*t)*y = 0, sin(1/2*t)*x-sin(1/2*t)*R*t+sin(1/2*t)*R*sin(t)+cos(1/2*t)*y-cos(...

> Lambda:=solve(systeme,{x,y});

Lambda := {y = R*(-2*cos(1/2*t)*sin(t)*sin(1/2*t)+cos(1/2*t)^2-cos(1/2*t)^2*cos(t)+sin(1/2*t)^2*cos(t)-sin(1/2*t)^2)/(cos(1/2*t)^2+sin(1/2*t)^2), x = R*(cos(1/2*t)^2*sin(t)-2*cos(1/2*t)*sin(1/2*t)*cos...

> Lambda:=simplify(Lambda);

Lambda := {y = R*(-1+cos(t)), x = R*(sin(t)+t)}

> Lambda:=combine(Lambda);

Lambda := {x = R*sin(t)+R*t, y = -R+R*cos(t)}

> Lambda:=factor(Lambda);

Lambda := {y = R*(-1+cos(t)), x = R*(sin(t)+t)}

On reconnait la paramétrisation d'une  cycloïde, en effet

> X:=unapply(rhs(Lambda[2]),t);Y:=unapply(rhs(Lambda[1]),t);

X := proc (t) options operator, arrow; R*(sin(t)+t) end proc

Y := proc (t) options operator, arrow; R*(-1+cos(t)) end proc

Comparons les paramétrisations f de la cicloide initiale et celle notée g de l'ensemble Lambda

> f:=t->[x(t),y(t)]:g:=t->[X(t),Y(t)]:

> ecart:=g(Pi+t)-f(t);

ecart := [-R*(t-sin(t))+R*(-sin(t)+t+Pi), -R*(1-cos(t))+R*(-1-cos(t))]

> u:=simplify(ecart);

u := [R*Pi, -2*R]

Ainsi Lambda est l'image de notre cycloïde par translation  de vecteur u(R*Pi,-2R)

Tracons ces deux courbes

> lambda:=[X(t),Y(t),t=-15..15];

lambda := [R*sin(t)+R*t, -R+R*cos(t), t = -15 .. 15]

> R:=1:plot([lambda,total], color=[red,blue]);R:='R':

[Plot]

>

On peut vérifier que chaque Normale à la première cycloide est en fait une tangente  à la deuxième

> Eq_normale_bis:=subs(t=t*15/50,Eq_normale):

> R:=1:Normales:={seq(Eq_normale_bis,t=-50..50)}:R:='R':

>

> with(plots):implicitplot(Normales,x=-20..20,y=-2..2);

[Plot]

Ci-dessus on a tracé une centaine de normales à la première cycloide, et on voit se profiler la deuxième, on dit qu'il s'git de l'enveloppe de la famille de droites normales à la première cycloide