Funcion obtener rotaciones Euler con rotacion instantanea. Scilab


Funcion para calcular las rotaciones de Euler rotacion de precesion, rotacion de nutacion y rotacion propia a partir de la rotacion instantanea (wx,wy,wz) y los angulos de precesion a1, nutacion a2  con Scilab:

function [r]=rotacioneseuler(wx,wy,wz,a1,a2)
w=[wx wy wz]
b1=[0 cos(a1) sin(a1)*sin(a2); 0 sin(a1) -cos(a1)*sin(a2); 1 0 cos(a2)]
r=inv(b1)*w'
endfunction

Ejemplo con Scilab

-->function [r]=rotacioneseuler(wx,wy,wz,a1,a2)
-->w=[wx wy wz]
-->b1=[0 cos(a1) sin(a1)*sin(a2); 0 sin(a1) -cos(a1)*sin(a2); 1 0 cos(a2)]
-->r=inv(b1)*w'
-->endfunction
-->rotacioneseuler(1,2,3,%pi/2,%pi/4)
 ans  =

    2.      
    2.      
    1.4142136

No hay comentarios: