Sei sulla pagina 1di 28

Calcolo di velocit angolari ed energie

cinetiche di corpi rigidi.


> restart: with(linalg):
Warning, new definition for norm
Warning, new definition for trace
(1) Disco circolare omogeneo che rotola con
possibilit di strisciamento su una retta
orizzontale
Il disco ha centro C, raggio R e massa m e
rotola sulla retta orizzontale Ox di una terna di
riferimento Oxyz.
Le coordinate utilizzate per descrivere il sistema
sono l'ascissa s del centro C e l'angolo phi che
il raggio CP fissato sul disco e la verticale
condotta da C verso il basso (fissata rispetto alla
terna assoluta Oxyz).
Momento d'inerzia del disco rispetto all'asse Cz:
> ICz:= int( int( rho^2 *
m/(Pi*R^2) * rho ,rho=0..R)
,th=0..2*Pi);
:= ICz
1
2
m R
2
Velocit angolare del disco:
> omega:=map(diff,[0,0,phi(t)],t)
;
Page 1
:=

1
]
1
1
, , 0 0

t
( ) t
Coordinate del baricentro:
> C:= [s(t),R,0];
:= C [ ] , , ( ) s t R 0
Velocit del baricentro:
> vC:=map(diff,C,t);
:= vC

1
]
1
1
, ,

t
( ) s t 0 0
Energia cinetica per mezzo del teorema di
Koenig:
> T:= 1/2*m*innerprod(vC,vC)
+1/2*ICz*innerprod(omega,omega)
;
:= T +
1
2
m

_
,

t
( ) s t
2
1
4
m R
2

_
,

t
( ) t
2
(2) Disco circolare omogeneo che rotola senza
strisciare su una retta orizzontale
Lo stesso problema precedente con la condizione
di puro rotolamento.
Diversamente dal caso precedente, i parametri
phi e s non sono indipendenti. La condizione di
rotolamento senza strisciamento impone infatti
che il punto di contatto Q fra disco e retta
orizzontale abbia velocit nulla:
Page 2
> Q:= [s(t),0,0];
:= Q [ ] , , ( ) s t 0 0
> rotola:= evalm( vC +
crossprod(omega,Q-C) );
:= rotola

1
]
1
1
, , +

_
,

t
( ) s t

_
,

t
( ) t R 0 0
Condizione del puro rotolamento e suo impiego:
> term1 := solve( rotola[1]=0 ,
diff(phi(t),t) );
:= term1

t
( ) s t
R
Energia cinetica del disco in moto di puro
rotolamento:
> T_puro_rotolamento :=
subs(diff(phi(t),t)=term1, T);
:= T_puro_rotolamento
3
4
m

_
,

t
( ) s t
2
(3) Disco circolare che rotola senza strisciare
sull'interno di una circonferenza fissa
Calcolo della velocit angolare istantanea in
termini dell'angolo al centro theta.
> restart: with(linalg):
Warning, new definition for norm
Warning, new definition for trace
Page 3
Coordinate del centro C del disco:
> C:= [(R-r)*sin(theta(t)),
-(R-r)*cos(theta(t)), 0];
:= C [ ] , , ( ) R r ( ) sin ( ) t ( ) R r ( ) cos ( ) t 0
Coordinate del punto P di contatto fra disco e
guida circolare fissa:
> P:= [R*sin(theta(t)),
-R*cos(theta(t)), 0];
:= P [ ] , , R ( ) sin ( ) t R ( ) cos ( ) t 0
Velocit del punto P di contatto fra disco e guida
circolare fissa:
> vC := map(diff,C,t);
vC ( ) R r ( ) cos ( ) t

_
,

t
( ) t ,

:=
( ) R r ( ) sin ( ) t

_
,

t
( ) t 0 ,
1
]
1
1
Forma della velocit angolare istantanea (il moto
piano, la sola componente eventualmente non
nulla di omega quella ortogonale a Oxy):
> omega:= w*[0,0,1];
:= w [ ] , , 0 0 1
Velocit del punto P del disco nella posizione
di contatto con la guida circolare (si usa il
teorema di Poisson):
> vP:= evalm( vC
+crossprod(omega,(P-C)) );
Page 4
vP ( ) R r ( ) cos ( ) t

_
,

t
( ) t

:=
w ( ) ( ) R r ( ) cos ( ) t R ( ) cos ( ) t ,
( ) R r ( ) sin ( ) t

_
,

t
( ) t
w ( ) + ( ) R r ( ) sin ( ) t R ( ) sin ( ) t + 0 ,
1
]
1
1
Equazioni scalari ottenute ponendo a zero la
velocit del punto precedente (condizione di puro
rotolamento del disco sulla guida fissa):
> equa1:= vP[1]=0;
equa1 ( ) R r ( ) cos ( ) t

_
,

t
( ) t :=
w ( ) ( ) R r ( ) cos ( ) t R ( ) cos ( ) t 0
> equa2:= vP[2]=0;
equa2 ( ) R r ( ) sin ( ) t

_
,

t
( ) t :=
w ( ) + ( ) R r ( ) sin ( ) t R ( ) sin ( ) t + 0
Le soluzioni in w delle due equazioni
coincidono:
> w1:= solve(equa1,w);
Page 5
:= w1

_
,

t
( ) t ( ) + R r
r
> w2:= solve(equa2,w);
:= w2

_
,

t
( ) t ( ) + R r
r
Velocit angolare istantanea del disco (notare il
segno negativo!):
> omega:= subs(w=w1,omega);
:=

_
,

t
( ) t ( ) + R r [ ] , , 0 0 1
r
> omega:= evalm(%);
:=

1
]
1
1
1
1
1
, , 0 0

_
,

t
( ) t ( ) + R r
r
(4) Disco circolare che rotola senza strisciare
sull'esterno di una circonferenza fissa
Calcolo della velocit angolare istantanea in
termini dell'angolo al centro theta.
> restart: with(linalg):
Warning, new definition for norm
Warning, new definition for trace
Page 6
Coordinate del centro C del disco:
> C:= [(R+r)*sin(theta(t)),
-(R+r)*cos(theta(t)), 0];
:= C [ ] , , ( ) + R r ( ) sin ( ) t ( ) + R r ( ) cos ( ) t 0
Coordinate del punto P di contatto fra disco e
guida circolare fissa:
> P:= [R*sin(theta(t)),
-R*cos(theta(t)), 0];
:= P [ ] , , R ( ) sin ( ) t R ( ) cos ( ) t 0
Velocit del punto P di contatto fra disco e guida
circolare fissa:
> vC := map(diff,C,t);
vC ( ) + R r ( ) cos ( ) t

_
,

t
( ) t ,

:=
( ) + R r ( ) sin ( ) t

_
,

t
( ) t 0 ,
1
]
1
1
Forma della velocit angolare istantanea (il moto
piano, la sola componente eventualmente non
nulla di omega quella ortogonale a Oxy):
> omega:= w*[0,0,1];
:= w [ ] , , 0 0 1
Velocit del punto P del disco nella posizione
di contatto con la guida circolare (si usa il
teorema di Poisson):
> vP:= evalm( vC
+crossprod(omega,(P-C)) );
Page 7
vP ( ) + R r ( ) cos ( ) t

_
,

t
( ) t

:=
w ( ) ( ) + R r ( ) cos ( ) t R ( ) cos ( ) t ,
( ) + R r ( ) sin ( ) t

_
,

t
( ) t
w ( ) + ( ) + R r ( ) sin ( ) t R ( ) sin ( ) t + 0 ,
1
]
1
1
Equazioni scalari ottenute ponendo a zero la
velocit del punto precedente (condizione di puro
rotolamento del disco sulla guida fissa):
> equa1:= vP[1]=0;
equa1 ( ) + R r ( ) cos ( ) t

_
,

t
( ) t :=
w ( ) ( ) + R r ( ) cos ( ) t R ( ) cos ( ) t 0
> equa2:= vP[2]=0;
equa2 ( ) + R r ( ) sin ( ) t

_
,

t
( ) t :=
w ( ) + ( ) + R r ( ) sin ( ) t R ( ) sin ( ) t + 0
Le soluzioni in w delle due equazioni
coincidono:
> w1:= solve(equa1,w);
Page 8
:= w1

_
,

t
( ) t ( ) + R r
r
> w2:= solve(equa2,w);
:= w2

_
,

t
( ) t ( ) + R r
r
Velocit angolare istantanea del disco (notare il
segno positivo, rispetto all'espressione del caso
precedente):
> omega:= evalm(
subs(w=w1,omega) );
:=

1
]
1
1
1
1
1
, , 0 0

_
,

t
( ) t ( ) + R r
r
> evalm(omega);

1
]
1
1
1
1
1
, , 0 0

_
,

t
( ) t ( ) + R r
r
(5) Disco circolare rigido che rotola senza
strisciare sull'esterno(interno) di
circonferenza in grado di ruotare attorno ad
un asse ad essa ortogonale e passante per un
suo punto Q .
Page 9
Si vuole determinare la velocit angolare
istantanea del disco circolare.
E' sufficiente applicare il teorema di
composizione delle velocit angolari, notando
che la velocit angolare di trascinamento di una
terna solidale alla guida circolare rispetto alla
terna fissa vale:
> omega1 :=
map(diff,[0,0,phi(t)],t);
:= 1

1
]
1
1
, , 0 0

t
( ) t
e che la velocit angolare del disco rispetto alla
terna fissa la somma di omega1 con la
velocit angolare del disco rispetto alla terna
solidale alla guida, la stessa calcolata
nell'esempio (5):
> omega_totale:= array(1..3);
:= omega_totale ( ) array , .. 1 3 [ ]
> omega_totale:= evalm( omega1 +
omega );
omega_totale :=

1
]
1
1
1
1
1
, , 0 0 +

_
,

t
( ) t

_
,

t
( ) t ( ) + R r
r
> omega_totale[3];
Page 10
+

_
,

t
( ) t

_
,

t
( ) t ( ) + R r
r
(6) Asta rigida non omogenea vincolata a
manetere i propri estremi A e B sugli assi Oy
ed Ox di una terna fissa.
> restart: with(linalg):
Warning, new definition for norm
Warning, new definition for trace
Densit dell'asta:
> lambda:= m*xi/L^2*(1-xi/L);
:=
m

_
,

L
L
2
Coordinate degli estremi A e B dell'asta:
> A:= [0,L*cos(theta(t)),0];
B:= [L*sin(theta(t)),0,0];
:= A [ ] , , 0 L ( ) cos ( ) t 0
:= B [ ] , , L ( ) sin ( ) t 0 0
Calcolo dell'energia cinetica mediante l'uso
diretto della definizione
Coordinate del generico punto P dell'asta:
> P:= evalm( A +xi/L*(B-A) );
Page 11
:= P [ ] , , ( ) sin ( ) t L ( ) cos ( ) t ( ) cos ( ) t 0
Velocit del punto P:
> vP:= map(diff,P,t);
vP ( ) cos ( ) t

_
,

t
( ) t ,

:=
+ L ( ) sin ( ) t

_
,

t
( ) t ( ) sin ( ) t

_
,

t
( ) t 0 ,
1
]
1
1
Energia cinetica dell'asta:
> T:= simplify( 1/2*int(
innerprod(vP,vP)*lambda ,
xi=0..L) );
:= T
1
40

_
,

t
( ) t
2
m L
2
Calcolo dell'energia cinetica con il metodo
standard
Massa del sistema:
> M:= int( lambda , xi=0..L);
:= M
1
6
m
Baricentro del sistema:
> G1:= 1/M * int( lambda*P[1] ,
xi=0..L);
Page 12
:= G1
1
2
L ( ) sin ( ) t
> G2:= 1/M * int( lambda*P[2] ,
xi=0..L);
:= G2
1
2
L ( ) cos ( ) t
> G3:= 1/M * int( lambda*P[3] ,
xi=0..L);
:= G3 0
> G:= [G1,G2,G3];
:= G

1
]
1
1
, ,
1
2
L ( ) sin ( ) t
1
2
L ( ) cos ( ) t 0
Ascissa ''curvilinea'' del baricentro G:
> assume(L>0,theta(t), real);
> xi_G:= simplify( norm(G-A,2) );
:= xi_G
1
2
L~
Momento d'inerzia rispetto all'asse baricentrale
Gz:
> I_Gz:= int( lambda*(xi-xi_G)^2
, xi=0..L);
:= I_Gz
1
120
m L~
2
Velocit angolare dell'asta:
> omega:=
map(diff,[0,0,theta(t)],t);
Page 13
:=

1
]
1
1
, , 0 0

t~
( ) t~
Velocit del baricentro G:
> vG:= map(diff,G,t);
vG
1
2
L~ ( ) cos ( ) t~

_
,

t~
( ) t~ ,

:=

1
2
L~ ( ) sin ( ) t~

_
,

t~
( ) t~ 0 ,
1
]
1
1
Energia cinetica calcolata usando il teorema di
Koenig:
(1) energia cinetica ''del baricentro''
> T_G:= M/2*innerprod(vG,vG);
T_G
1
12
m
1
4
L~
2
( ) cos ( ) t~
2

_
,

t~
( ) t~
2

:=
1
4
L~
2
( ) sin ( ) t~
2

_
,

t~
( ) t~
2
+
_
,

(2) energia cinetica del moto ''attorno al


baricentro'' (ossia relativo ad una terna
baricentrale. Si tratta di un moto con asse fisso
Gz):
> TA:=
1/2*I_Gz*innerprod(omega,omega)
;
:= TA
1
240
m L~
2

_
,

t~
( ) t~
2
totale:
Page 14
> T_totale:= simplify( T_G +TA
);
:= T_totale
1
40
m L~
2

_
,

t~
( ) t~
2
Il risultato coincide con quello gi ottenuto
direttamente.
(7) Rettangolo omogeneo in moto nel piano
Oxy, con due vertici (appartenenti allo stesso
lato) vincolati a scorrere sugli assi coordinati
Ox e Oy. La terna Oxy ruota con velocit
angolare costante w[0,0,1] rispetto ad una
terna fissa.
Si vogliono calcolare velocit angolare ed
energia cinetica rispetto alla terna fissa.
> restart: with(linalg):
Warning, new definition for norm
Warning, new definition for trace
Coordinate dei vertici vincolati rispetto alla terna
Oxyz:
> A:=[0,L*cos(theta(t)),0];
B:=[L*sin(theta(t)),0,0];
:= A [ ] , , 0 L ( ) cos ( ) t 0
:= B [ ] , , L ( ) sin ( ) t 0 0
Vettore posizione del vertice C rispetto al vertice
B:
> BC:=
Page 15
[H*cos(theta(t)),H*sin(theta(t)
),0];
:= BC [ ] , , H ( ) cos ( ) t H ( ) sin ( ) t 0
Vertice C:
> C:= B + BC;
:= C [ ] , , + H ( ) cos ( ) t L ( ) sin ( ) t H ( ) sin ( ) t 0
Coordinate del baricentro rispetto alla terna Oxyz
(centro del rettangolo omogeneo):
> G := (A+C)/2;
G +
1
2
H ( ) cos ( ) t
1
2
L ( ) sin ( ) t ,

:=
+
1
2
H ( ) sin ( ) t
1
2
L ( ) cos ( ) t 0 ,
1
]
1
1
Per determinare le coordinate del baricentro
rispetto alla terna fissa occorre considerare la
matrice ortogonale che descrive la rotazione di
Oxyz attorno all'asse Oy,
che cio fornisce le coordinate rispetto alla terna
fissa note che siano quelle rispetto alla terna
Oxyz. La matrice di rotazione la seguente:
> R:=matrix(3,3,[cos(w*t),0,-sin(
w*t), 0,1,0,
sin(w*t),0,cos(w*t)]);
Page 16
:= R

1
]
1
1
11
( ) cos w t 0 ( ) sin w t
0 1 0
( ) sin w t 0 ( ) cos w t
Coordinate del baricentro rispetto alla terna fissa:
> G_f:=multiply(R,G);
G_f

:=
( ) cos w t

_
,

+
1
2
H ( ) cos ( ) t
1
2
L ( ) sin ( ) t ,
+
1
2
H ( ) sin ( ) t
1
2
L ( ) cos ( ) t ,
( ) sin w t

_
,

+
1
2
H ( ) cos ( ) t
1
2
L ( ) sin ( ) t
1
]
1
1
Velocit del baricentro rispetto alla terna fissa:
> vG:= map(diff,G_f,t);
vG

:=
( ) sin w t w

_
,

+
1
2
H ( ) cos ( ) t
1
2
L ( ) sin ( ) t +
( ) cos w t
1
2
H ( ) sin ( ) t

_
,

t
( ) t

1
2
L ( ) cos ( ) t

_
,

t
( ) t +
_
,

,
Page 17
1
2
H ( ) cos ( ) t

_
,

t
( ) t
1
2
L ( ) sin ( ) t

_
,

t
( ) t ,
( ) cos w t w

_
,

+
1
2
H ( ) cos ( ) t
1
2
L ( ) sin ( ) t +
( ) sin w t
1
2
H ( ) sin ( ) t

_
,

t
( ) t

1
2
L ( ) cos ( ) t

_
,

t
( ) t +
_
,

1
]
1
1
Energia cinetica ''del baricentro'':
> assume(theta(t), real, H>0,
L>0);
> TG:= simplify(
M/2*innerprod(vG,vG) );
TG
1
8
M H~
2

_
,

t~
( ) t~
2
:=
1
8
M w
2
H~
2
( ) cos ( ) t~
2
+
1
8
M w
2
L~
2
( ) cos ( ) t~
2

1
8
M L~
2

_
,

t~
( ) t~
2
1
2
+
Page 18
M H~ ( ) cos ( ) t~

_
,

t~
( ) t~
2
L~ ( ) sin ( ) t~
1
4
M w
2
H~ ( ) cos ( ) t~ L~ ( ) sin ( ) t~ +
1
8
M w
2
L~
2
+
Moto attorno al baricentro
E' determinato rispetto alla terna baricentrale
ottenuta dalla terna fissa per traslazione in G
dell'origine. Si tratta di un moto rigido con punto
fisso in G.
Matrice d'inerzia rispetto alla terna solidale
Ox'y'z':
> LG:= array(1..3,1..3);
:= LG ( ) array , , .. 1 3 .. 1 3 [ ]
> LG[1,1]:= int(int(
eta^2*M/(L*H) ,xi=-L/2..L/2)
,eta=-H/2..H/2);
:= LG
, 1 1
1
12
M H~
2
> LG[2,2]:= int(int( xi^2*M/(L*H)
,xi=-L/2..L/2) ,eta=-H/2..H/2);
:= LG
, 2 2
1
12
M L~
2
Page 19
> LG[3,3]:= int(int(
(xi^2+eta^2)*M/(L*H)
,xi=-L/2..L/2) ,eta=-H/2..H/2);
:= LG
, 3 3
+
1
12
M L~
2
1
12
M H~
2
> LG[1,2]:= -int(int(
xi*eta*M/(L*H) ,xi=-L/2..L/2)
,eta=-H/2..H/2);
:= LG
, 1 2
0
> LG[2,1]:= LG[1,2]; LG[1,3]:=0;
LG[2,3]:=0; LG[3,1]:=0;
LG[3,2]:=0;
:= LG
, 2 1
0
:= LG
, 1 3
0
:= LG
, 2 3
0
:= LG
, 3 1
0
:= LG
, 3 2
0
> evalm(LG);

1
]
1
1
1
1
1
1
1
1
1
1
1
1
12
M H~
2
0 0
0
1
12
M L~
2
0
0 0 +
1
12
M L~
2
1
12
M H~
2
Page 20
Componenti della velocit angolare relativa alla
terna fissa, calcolate rispetto alla terna solidale
Ox'y'z':
> omega_p := [
-sin(Pi/2-theta(t))*w ,
cos(Pi/2-theta(t))*w ,
diff(theta(t),t) ];
omega_p :=

1
]
1
1
, , ( ) cos ( ) t~ w ( ) sin ( ) t~ w

t~
( ) t~
Energia cinetica del moto attorno al baricentro:
> TR:=
1/2*multiply(transpose(omega_p)
,LG,omega_p);
TR
1
24
M w
2
H~
2
( ) cos ( ) t~
2
:=
1
24
( ) sin ( ) t~
2
w
2
M L~
2
+
1
2

_
,

t~
( ) t~
2

_
,

+
1
12
M L~
2
1
12
M H~
2
+
Energia cinetica totale relativa alla terna fissa:
> T := simplify( TG + TR );
T
1
6
M H~
2

_
,

t~
( ) t~
2
:=
Page 21
1
6
M w
2
H~
2
( ) cos ( ) t~
2
+
1
6
M w
2
L~
2
( ) cos ( ) t~
2

1
6
M L~
2

_
,

t~
( ) t~
2
1
2
+
M H~ ( ) cos ( ) t~

_
,

t~
( ) t~
2
L~ ( ) sin ( ) t~
1
4
M w
2
H~ ( ) cos ( ) t~ L~ ( ) sin ( ) t~ +
1
6
M w
2
L~
2
+
(8) Lamina quadrata ABCE, costituita da
due triangoli omogenei ABE e BCE di densit
rispettive sigma1 e sigma2, in moto nel piano
coordinato Oxy
Si vuole determinare l'energia cinetica del
sistema in termini delle coordinate xG e yG del
baricentro G e dell'angolo di rotazione theta.
> restart: with(linalg):
Warning, new definition for norm
Warning, new definition for trace
Coordinate dei vertici nel piano Mx'y' della terna
solidale:
> A:=[-L/sqrt(2),0]; B:=
Page 22
[0,-L/sqrt(2)]; C:=
[L/sqrt(2),0]; E:=
[0,L/sqrt(2)];
:= A

1
]
1
1
,
1
2
L 2 0
:= B

1
]
1
1
, 0
1
2
L 2
:= C

1
]
1
1
,
1
2
L 2 0
:= E

1
]
1
1
, 0
1
2
L 2
Rappresentazione grafica del quadrato rispetto
alla terna solidale.
> with(plots): with(plottools):
> ABE:=polygon(subs(L=1,[A,B,E]),
color=green):
BCE:=polygon(subs(L=1,[B,C,E]),
color=red):
> display({ABE,BCE},
scaling=constrained,
labels=[x,y]);
Baricentri dei triangoli omogenei:
> G1:=(A+B+E)/3; G2:=(B+C+E)/3;
:= G1

1
]
1
1
,
1
6
L 2 0
Page 23
:= G2

1
]
1
1
,
1
6
L 2 0
Baricentro del quadrato rispetto a Mx'y':
> G:= ( sigma1*L^2/2*G1
+sigma2*L^2/2*G2 ) / (
sigma1*L^2/2 +sigma2*L^2/2 );
G :=
+
1
2
1 L
2

1
]
1
1
,
1
6
L 2 0
1
2
2 L
2

1
]
1
1
,
1
6
L 2 0
+
1
2
1 L
2
1
2
2 L
2
> G:= simplify(evalm(G));
:= G

1
]
1
1
,
1
6
L 2 ( ) + 1 2
+ 1 2
0
Matrice d'inerzia rispetto a Mx'y'z':
> LM:=array(1..3,1..3);
:= LM ( ) array , , .. 1 3 .. 1 3 [ ]
> LM[1,1]:=2*(sigma1+sigma2)*int(
int( yp^2
,yp=0..(L/sqrt(2)-xp))
,xp=0..L/sqrt(2));
:= LM
, 1 1
1
24
( ) + 1 2 L
4
> LM[2,2]:=2*(sigma1+sigma2)*int(
int( xp^2
Page 24
,yp=0..(L/sqrt(2)-xp))
,xp=0..L/sqrt(2));
:= LM
, 2 2
1
24
( ) + 1 2 L
4
> LM[3,3]:=2*(sigma1+sigma2)*int(
int( (xp^2+yp^2)
,yp=0..(L/sqrt(2)-xp))
,xp=0..L/sqrt(2));
:= LM
, 3 3
1
12
( ) + 1 2 L
4
L'asse Mx' un asse di simmetria per la lamina
quadrata:
> LM[1,2]:=0; LM[2,1]:=0;
:= LM
, 1 2
0
:= LM
, 2 1
0
La lamina giace nel piano Mx'y':
> LM[1,3]:=0; LM[3,1]:=0;
LM[2,3]:=0; LM[3,2]:=0;
:= LM
, 1 3
0
:= LM
, 3 1
0
:= LM
, 2 3
0
:= LM
, 3 2
0
> evalm(LM);
Page 25

1
]
1
1
1
1
1
1
1
1
1
1
1
, ,
1
24
( ) + 1 2 L
4
0 0
, , 0
1
24
( ) + 1 2 L
4
0
, , 0 0
1
12
( ) + 1 2 L
4
Momento d'inerzia rispetto all'asse Gz':
Massa della lamina quadrata:
> m:= sigma1*L^2/2 +
sigma2*L^2/2;
:= m +
1
2
1 L
2
1
2
2 L
2
Momento d'inerzia rispetto all'asse Gz'
(Huygens-Steiner):
> I_Gzp:= LM[3,3] -m*G[1]^2;
I_Gzp
1
12
( ) + 1 2 L
4
:=
1
18

_
,

+
1
2
1 L
2
1
2
2 L
2
L
2
( ) + 1 2
2
( ) + 1 2
2

> I_Gzp:= simplify(%);
:= I_Gzp
1
18
L
4
( ) + + 1
2
4 1 2 2
2
+ 1 2
Page 26
Energia cinetica rispetto alla terna fissa Oxyz:
Coordinate del baricentro rispetto a Oxyz:
> G:=[x(t),y(t)];
:= G [ ] , ( ) x t ( ) y t
Velocit del baricentro rispetto a Oxyz:
> vG:= map(diff,G,t);
:= vG

1
]
1
1
,

t
( ) x t

t
( ) y t
Energia cinetica ''del baricentro'':
> TG:= m/2*innerprod(vG,vG);
TG :=
1
2

_
,

+
1
2
1 L
2
1
2
2 L
2

_
,

_
,

t
( ) x t
2

_
,

t
( ) y t
2
Energia cinetica del moto attorno al baricentro:
> TR:=1/2*I_Gzp*diff(theta(t),t)^
2;
:= TR
1
36
L
4
( ) + + 1
2
4 1 2 2
2

_
,

t
( ) t
2
+ 1 2
Energia cinetica totale relativa a Oxyz:
> T := TG +TR;
T :=
1
2

_
,

+
1
2
1 L
2
1
2
2 L
2

_
,

_
,

t
( ) x t
2

_
,

t
( ) y t
2
Page 27
1
36
L
4
( ) + + 1
2
4 1 2 2
2

_
,

t
( ) t
2
+ 1 2
+
>
Page 28