Sei sulla pagina 1di 2

> restart: with(LinearAlgebra):

> E3:=Matrix([[0],[0],[1]]); SE3:=Matrix([[0,-1,0],[1,0,0],[0,0,0]]


);

(1)

> R_e3_phi:=Matrix(cos(phi)*IdentityMatrix(3)+(1-cos(phi))*
MatrixMatrixMultiply(E3,Transpose(E3))+sin(phi)*SE3);

(2)

> E2:=Matrix([[0],[1],[0]]); SE2:=Matrix([[0,0,1],[0,0,0],[-1,0,0]]


);

(3)

> R_e2_theta:=Matrix(cos(theta)*IdentityMatrix(3)+(1-cos(theta))*
MatrixMatrixMultiply(E2,Transpose(E2))+sin(theta)*SE2);

(4)

> E1:=Matrix([[1],[0],[0]]); SE1:=Matrix([[0,0,0],[0,0,-1],[0,1,0]]


);

(5)

> R_e1_psi:=Matrix(cos(psi)*IdentityMatrix(3)+(1-cos(psi))*

(6)
>
MatrixMatrixMultiply(E1,Transpose(E1))+sin(psi)*SE1);

(6)

> R_final:=MatrixMatrixMultiply(R_e3_phi,MatrixMatrixMultiply
(R_e2_theta,R_e1_psi)); # Rotation matrix with 3-2-1 Euler angles
(7)

Potrebbero piacerti anche