Placa cuadrada con un vertice fijo en el origen de coordenadas y un lado apoyado en el plano OXY.
> | restart: |
> | with(linalg): |
Warning,
the protected names norm and trace have been redefined and unprotected
> | with(plots): |
Warning,
the name changecoords has been redefined
> | with(plottools): |
Warning,
the name arrow has been redefined
> | libname:="C:/",libname: |
> | with(mecapac3d): |
Paso 1. Definimos las coordenadas generalizadas del sistema en una lista que se denominará cg.
> | cg:=[theta,phi]; |
> | rot1:=rota(phi,3): |
> | rot2:=rota(theta,1): |
> | rottot:=evalm(rot1&*rot2): |
> | cuadrado:=[rectangulo,[a/2*(cos(phi)-cos(theta)*sin(phi)),a/2*(sin(phi)+cos(theta)*cos(phi)),a/2*sin(theta)],rottot,m,a,a]; |
Paso 3. Definición de los elementos gráficos que definiran nuestro sistema de ejes.
> | ejeX:=[vector,[0,0,0],vector([3/2*a,0,0]),red]: |
> | ejeY:=[vector,[0,0,0],vector([0,3/2*a,0]),green]: |
> | ejeZ:=[vector,[0,0,0],vector([0,0,3/2*a]),blue]: |
> | ejex:=[vector,[0,0,0],vector([3/2*a*cos(phi),3/2*a*sin(phi),0]),red]: |
> | ejey:=[vector,[0,0,0],vector([-3/2*a*sin(phi)*cos(theta),3/2*a*cos(phi)*cos(theta),3/2*a*sin(theta)]),green]: |
> | ejez:=[vector,[0,0,0],vector([3/2*a*sin(theta)*sin(phi),-3/2*a*cos(phi)*sin(theta),3/2*a*cos(theta)]),blue]: |
> | a1:=[angulo,[1/2*a,0,0],[0,0,0],[1/2*a*cos(phi),1/2*a*sin(phi),0],1/2*a]: |
> | a2:=[angulo,[0,0,1/2*a],[0,0,0],[1/2*a*sin(theta)*sin(phi),-1/2*a*cos(phi)*sin(theta),1/2*a*cos(theta)],1/2*a]: |
> | TO := [texto,[0,0,-1],"O"]: |
> | TX := [texto,[0,15,1],"X"]: |
> | TY := [texto,[0,15,1],"Y"]: |
> | TZ := [texto,[0,0,21],"Z"]: |
Paso 4. Definición de la variable sistema que agrupa en una lista todos los elementos anteriores.
> | sistema:=[cuadrado,ejeX,ejeY,ejeZ,ejex,ejey,ejez,a1,a2,TO,TX,TY,TZ]; |
Paso 5. Obtención de la energía cinética del sistema mediante fT asignándola a la variable T.
> | T:=fT(sistema); |
Paso 6. Obtención de la energía potencial del sistema mediante fV asignándola a la variable V.
> | V:=fV(sistema); |
> | L:=T-V; |
> | L:=simplify(L); |
> | ecua:=ec_lag(); |
> | a:=10:g:=9.8:m:=10: |
> | res:=fint([Pi/3,0,0,0.6]): |
Paso 11. Representación gráfica de las evoluciones temporales de theta y phi mediante odeplot.
> | odeplot(res,[t,theta(t)],0..15.,numpoints=100); |
> | odeplot(res,[t,phi(t)],0..15.,numpoints=100); |
> | odeplot(res,[phi(t),theta(t)],0..15.,numpoints=100); |
> | dibu3(15,50); |
> | res:=fint([Pi/3,0,0,0]): |
Paso 11 bis. Representación gráfica de las evoluciones temporales de las variables mediante odeplot.
> | odeplot(res,[t,phi(t)],0..15.,numpoints=100); |
> | odeplot(res,[phi(t),theta(t)],0..15.,numpoints=100); |
> | dibu3(15,50); |
Finalmente en un caso general, con velocidades iniciales de rotación segun ambos ejes.
> | res:=fint([Pi/3,0.8,0,0.6]): |
> | dibu3(15,50); |
> |