You are on page 1of 7

CURSO: DINMICA

Programa para realizar transformaciones matriciales de vectores.

EXPORT Dinmica_Matrices()
BEGIN
LOCAL ,,r,R,x,y,z;
LOCAL T;
LOCAL T;
LOCAL Rect,Rectx,Recty,Rectz;
LOCAL Cil,Cilr,Cil,Cilz;
LOCAL Esf,EsfR,Esf,Esf;
LOCAL c;
PRINT();
CHOOSE(c,"Ingrese el tipo de transformacin",
"1) Rectangulares - Cilndricas",
"2) Cilndricas - Rectangulares",
"3) Cilndricas - Esfricas",
"4) Esfricas - Cilndricas",
"5) Rectangulares - Esfricas",
"6) Esfricas - Rectangulares");
CASE
IF c==1 THEN INPUT(); INPUT({Rectx,Recty,Rectz},"Vector en coordenadas
rectangulares");
Rect:=[[Rectx],[Recty],[Rectz]];
T:=[[COS(),SIN(),0],[-SIN(),COS(),0],[0,0,1]];
Cil:=T*Rect ;
MSGBOX("El vector en coordenadas cilndricas ser: "+Cil);
RETURN(Cil);
END;
IF c==2 THEN INPUT(); INPUT({Cilr,Cil,Cilz},"Vector en coordenadas cilndricas");
Cil:=[[Cilr],[Cil],[Cilz]];
T:=[[COS(),SIN(),0],[-SIN(),COS(),0],[0,0,1]];
Rect:=TRN(T)*Cil;
MSGBOX("El vector en coordenadas rectangulares ser: "+Rect);
RETURN(Rect);
END;
IF c==3 THEN INPUT(); INPUT({Cilr,Cil,Cilz},"Vector en coordenadas cilndricas");
Cil:=[[Cilr],[Cil],[Cilz]];

T:=[[COS(),0,SIN()],[0,1,0],[-SIN(),0,COS()]];
Esf:=T*Cil;
MSGBOX("El vector en coordenadas esfricas ser: "+Esf);
RETURN(Esf);
END;
IF c==4 THEN INPUT();INPUT({EsfR,Esf,Esf},"Vector en coordenadas esfricas");
Esf:=[[EsfR],[Esf],[Esf]];
T:=[[COS(),0,SIN()],[0,1,0],[-SIN(),0,COS()]];
Cil:=TRN(T)*Esf;
MSGBOX("El vector en coordenadas cilndricas ser: "+Cil);
RETURN(Cil);
END;
IF c==5 THEN INPUT(); INPUT(); INPUT({Rectx,Recty,Rectz},"Vector en
coordenadas rectangulares");
Rect:=[[Rectx],[Recty],[Rectz]];
T:=[[COS(),0,SIN()],[0,1,0],[-SIN(),0,COS()]];
T:=[[COS(),SIN(),0],[-SIN(),COS(),0],[0,0,1]];
Esf:=(T*T)*Rect;
MSGBOX("El vector en coordenadas esfricas ser: "+Esf);
RETURN(Esf);
END;
IF c==6 THEN INPUT(); INPUT(); INPUT({EsfR,Esf,Esf},"Vector en coordenadas
esfricas");
Esf:=[[EsfR],[Esf],[Esf]];
T:=[[COS(),0,SIN()],[0,1,0],[-SIN(),0,COS()]];
T:=[[COS(),SIN(),0],[-SIN(),COS(),0],[0,0,1]];
Rect:=TRN(T*T)*Esf;
MSGBOX("El vector en coordenadas rectangulares ser: "+Rect);
RETURN(Rect);
END;
END;
END;

CURSO: DINMICA
Velocidad y aceleracin relativa

EXPORT Dinmica_Relativo()
BEGIN
LOCAL Aa,Aax,Aay,Aaz;
LOCAL Ab;
LOCAL Arel,Arelx,Arely,Arelz;
LOCAL ,x,y,z;
LOCAL W,Wx,Wy,Wz;
LOCAL Va,Vax,Vay,Vaz;
LOCAL R,Rx,Ry,Rz;
LOCAL Vb;
LOCAL Vrel,Vrelx,Vrely,Vrelz;
LOCAL c;

CHOOSE(c,"Qu desea calcular?",


" Velocidad",
" Aceleracin");
CASE

IF c==1 THEN

INPUT({Vax,Vay,Vaz},"Velocidad del sistema de referencia A");

INPUT({Wx,Wy,Wz},"Velocidad angular del sistema");


INPUT({Rx,Ry,Rz},"Posicin relativa");
INPUT({Vrelx,Vrely,Vrelz},"Velocidad relativa de B");
Va:=[Vax,Vay,Vaz];
W:=[Wx,Wy,Wz];
R:=[Rx,Ry,Rz];
Vrel:=[Vrelx,Vrely,Vrelz];

Vb:=Va+CROSS(W,R)+Vrel;
MSGBOX("La velocidad del punto B es:"+Vb);
RETURN(Vb);
END;

IF c==2 THEN

INPUT({Aax,Aay,Aaz},"Aceleracion del sistema de referencia A");


INPUT({x,y,z},"Aceleracion angular del sistema");
INPUT({Wx,Wy,Wz},"Velocidad angular del sistema");
INPUT({Rx,Ry,Rz},"Posicin relativa");
INPUT({Vrelx,Vrely,Vrelz},"Velocidad relativa de B");
Aa:=[Aax,Aay,Aaz];
Arel:=[Arelx,Arely,Arelz];

W:=[Wx,Wy,Wz];
R:=[Rx,Ry,Rz];
Vrel:=[Vrelx,Vrely,Vrelz];
:=[x,y,z];
Ab:=Aa+CROSS(,R)+CROSS(W,CROSS(W,R))+c*CROSS(W,Vrel)+Arel;

MSGBOX("La aceleracin del punto B es:"+Ab);


RETURN(Ab);
END;

END;

END;

CURSO: DINMICA
Ecuaciones de Euler

EXPORT Dinmica_Euler()
BEGIN
LOCAL Ixx,Iyy,Izz,Ixy,Ixz,Iyz;
LOCAL Wx, Wy,Wz;
LOCAL Wx, Wy,Wz;

LOCAL x, y, z;
LOCAL I;
LOCAL W;
LOCAL ;
LOCAL W;
LOCAL M;

INPUT({Ixx,Iyy,Izz },"Momentos de inercia");


INPUT({Ixy,Ixz,Iyz },"Productos de inercia");
INPUT({Wx, Wy,Wz },"Derivadas de las velocidades angulares");
INPUT({x, y, z },"Velocidad angular del sistema de referencia");
INPUT({Wx, Wy,Wz },"Velocidades angulares");

I:=[[Ixx,-Ixy,-Ixz], [-Ixy,Iyy,-Iyz], [-Ixz,-Iyz,Izz]];


W:= [[Wx],[Wy],[Wz]];
:= [[0,-z, y],[z,0,-x],[-y,x,0]];
W:= [[Wx],[Wy],[Wz]];

M:= I* W+ *I* W;
RETURN M;
END;