# Kapitel 2_h: 
# Geschwindigkeit und Beschleunigung des starren Krpers in  Eulerwinkeln
#  2015  Friedrich U. Mathiak, 
# mathiak@mechanik-info.de
# 
# noch Beispiel: 2-8: (Geschwindigkeit und Beschleunigung unter Verwendung von Eulerwinkeln)
> restart: with(LinearAlgebra): with(PDEtools): 
# Aufbau der Drehmatrix
> alias(phi=phi(t),theta=theta(t),psi=psi(t));
> declare(phi,theta,psi,prime=t);
> cphi:=cos(phi): cthe:=cos(theta): cpsi:=cos(psi): 
> sphi:=sin(phi): sthe:=sin(theta): spsi:=sin(psi):
> R3psi:= Matrix(3,3,[[cpsi,-spsi,  0], [spsi,cpsi,    0],[0, 0   ,   1]]):
> R1the:= Matrix(3,3,[[1   ,    0,  0], [0   ,cthe,-sthe],[0, sthe,cthe]]):
> R3phi:= Matrix(3,3,[[cphi,-sphi,  0], [sphi,cphi,    0],[0,    0,   1]]):
> RE:= R3psi.R1the.R3phi;
> RET:=Transpose(RE);
> REP:=simplify(map(diff,RE,t));
> Omega_0:=simplify(REP.RET);
> CE_0:=Matrix([[sthe*spsi,cpsi,0],[-sthe*cpsi,spsi,0],[cthe,0,1]]);
> CE_0_Inv:=simplify(MatrixInverse(CE_0));
> Omega_1:=simplify(RET.REP);
> CE_1:=Matrix([[0,cphi,-sthe*sphi],[0,-sphi,cphi*sthe],[1,0,cthe]]);
> CE_1_Inv:=MatrixInverse(CE_1);
# Lage des Punktes P
> alias(s1=s1(t),s2=s2(t),s3=s3(t),z01=z01(t),z02=z02(t),z03=z03(t));
> declare(s1,s2,s3,z01,z02,z03,prime=t);
> S0:=Vector([s1,s2,s3]);
> Z1:=Vector([z1,z2,z3]);
> Z0:=Vector([z01,z02,z03]);
> r0:=S0 + RE.Z1;
# Geschwindigkeit des Punktes P in raumfesten Koordinaten
> v01:=simplify(map(diff,S0,t)+REP.Z1);
# oder
> v02:=simplify(map(diff,S0,t)+REP.RET.Z0);
# Geschwindigkeit des Punktes P in krperfesten Koordinaten
> v0k:=simplify(RET.v01);
# Beschleunigungen und Winkelbeschleunigungen
> Omega_0_P:=map(diff,Omega_0,t);
# Beschleunigung des Punktes P im raumfesten Koordinatensystem
> a_0:=simplify(map(diff,S0,t,t)+(Omega_0_P + Omega_0.Omega_0).RE.Z1);
# Beschleunigung des Punktes P im krperfesten Koordinatensystem
> Omega_1_P:=simplify(RET.Omega_0_P.RE);
> a_1:=simplify(RET.map(diff,S0,t,t)+(Omega_1_P + Omega_1.Omega_1).Z1);
> 
;
> 
;
