154prob.mws

> restart:

Problema puntuable 27 noviembre 1996

Jose Mª Goicolea, noviembre 2000

Enunciado

En el mecanismo plano de la figura, la barra OA gira alrededor del punto fijo O con velocidad angular phi' constante. Un disco de radio R se mueve de forma que desliza sobre el eje X a la vez que rueda sin deslizar sobre la barra OA. Se pide:

[Maple Plot]

1.-

El CIR esta situado sobre la vertical por el centro del disco C, en la misma barra. Coordenadas del CIR en ejes fijos:

> XC:=R/tan(phi/2);
YC:=XC*tan(phi);

XC := 1/tan(1/2*phi)

YC := tan(phi)/tan(1/2*phi)

Velocidad de C:

> vC:=diff(subs(phi=phi(t),XC),t);

vC := -1/2*(1+tan(1/2*phi(t))^2)*diff(phi(t),t)/(ta...

Por otra parte, se puede interpretar como una rotacion alrededor del CIR, cuya distancia a C es R/cos(phi), por lo que

> Omega:=vC/(R/cos(phi(t)));

Omega := -1/2*(1+tan(1/2*phi(t))^2)*diff(phi(t),t)*...

> Omega:=simplify(Omega);

Omega := 1/2*diff(phi(t),t)*cos(phi(t))/(-1+cos(1/2...

> alpha:=diff(Omega,t);

alpha := 1/2*diff(phi(t),`$`(t,2))*cos(phi(t))/(-1+...

Teniendo en cuenta que la velocidad de phi es constante,

> alpha:=simplify(subs(diff(phi(t),t,t)=0,alpha));

alpha := -1/2*diff(phi(t),t)^2*(-sin(phi(t))+sin(ph...

La expresi´on queda aqu'i un poco complicada, se puede simplificar a mano sin gran dificultad (v´ease soluci´on tipografiada en internet).

2.-

> aC:=diff(vC,t);

aC := 1/2*(1+tan(1/2*phi(t))^2)^2*diff(phi(t),t)^2/...

> aC:=simplify(subs(diff(phi(t),t,t)=0,aC));

aC := 1/2*(1+tan(1/2*phi(t))^2)*diff(phi(t),t)^2/(t...

3.-

> with(plots):with(plottools):

Warning, the name changecoords has been redefined

Dibujo de elementos del sistema, CIR y polar fija

> R:=1: L:=6*R:

> barra:=phi->arrow([0,0], [L*cos(phi),L*sin(phi)], L/50, L/50, .0, color=blue):

> disco:=phi->disk([R*(1+cos(phi))/sin(phi),R], R, color=yellow):

> CIR:=phi->disk([R*(1+cos(phi))/sin(phi),R*(1+cos(phi))/cos(phi)], L/50, color=white,thickness=2):

> PF:=plot([R*(1+cos(phi))/sin(phi),R*(1+cos(phi))/cos(phi),phi=Pi/9..Pi/2.5],
thickness=4):

> display([barra(Pi/6),disco(Pi/6),CIR(Pi/6),PF],scaling=constrained);

[Maple Plot]

Dibujo y animacion de la polar movil

Angulo girado por el disco, en funcion del angulo Phi de la barra

> int(-cos(phi)/(1-cos(phi)),phi);

1/tan(1/2*phi)+2*arctan(tan(1/2*phi))

> alpha:=Phi->int(-cos(phi)/(1-cos(phi)),phi=Pi/9..Phi);

alpha := proc (Phi) options operator, arrow; int(-c...

Coordenadas del centro del disco, en funcion de Phi

> XO:=Phi->R*(1+cos(Phi))/sin(Phi);
YO:=Phi->R;

XO := proc (Phi) options operator, arrow; R*(1+cos(...

YO := proc (Phi) options operator, arrow; R end pro...

coordenadas del CIR en ejes moviles

> xC:=Phi->(R*(1+cos(Phi))/cos(Phi)-R)*sin(alpha(Phi));
yC:=Phi->(R*(1+cos(Phi))/cos(Phi)-R)*cos(alpha(Phi));

xC := proc (Phi) options operator, arrow; (R*(1+cos...

yC := proc (Phi) options operator, arrow; (R*(1+cos...

Polar movil en ejes moviles

> plot([xC(Phi),yC(Phi),Phi=Pi/9..Pi/2.5],scaling=constrained,thickness=3);

[Maple Plot]

parametrizacion del angulo girado en funcion de variable p entera

> q:=p->Pi/9+p*(Pi/200);

q := proc (p) options operator, arrow; 1/9*Pi+1/200...

dibujo de un radio del disco que gira con el mismo

> radio:=Phi->line([XO(Phi),YO(Phi)],
[XO(Phi)+R*cos(alpha(Phi)),YO(Phi)+R*sin(alpha(Phi))], color=brown, linestyle=3, thickness=3):

> anim:=seq(display(PF,
barra(q(p)),disco(q(p)),radio(q(p)),CIR(q(p)),
plot([XO(q(p))+xC(Phi)*cos(alpha(q(p)))-yC(Phi)*sin(alpha(q(p))),
YO(q(p))+xC(Phi)*sin(alpha(q(p)))+yC(Phi)*cos(alpha(q(p))),
Phi=Pi/9..Pi/2.5],thickness=3,color=green)
),p=0..55):

> display(anim,insequence=true,scaling=constrained);

[Maple Plot]