You are on page 1of 15

PRÁCTICA 4: MODELADO DE MOV DE PARTÍCULA EN 3D ASISTIDO CON MATLAB

SOLUCIÓN

CENTRO DE MASAS
%Creamos una matriz de 3*10 en la que cada columna tiene las coordenadas de un punt
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
% Generamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Dibujamos los vectores con plot3
clf %Por si existía alguna gráfica anterior
plot3(x,y,z,'.')
% Ponemos los ejes según la región fijada
axis([-2,2,-2,2,-2,2])
%Generamos una matriz de 3*10 en la que cada columna tiene las coordenadas de
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
% Creamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Dibujamos los puntos con plot3
clf %Por si existía alguna gráfica anterior
hold on % Para añadir el centro de masas
plot3(x,y,z,'.')
% Ponemos los ejes según la región fijada
axis([-2,2,-2,2,-2,2])
% Calculamos los centros de masas
xx=sum(x)/10;
yy=sum(y)/10;
zz=sum(z)/10;
% Por último lo dibujamos
plot3(xx,yy,zz,'g.')
hold off

MATRIZ DE ROTACIÓN
%Creamos una matriz de 3*10 en la que cada columna tiene las coordenadas de un punt
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
% Rotaciones
tt=pi/16
Re1=[1 0 0;0 cos(tt) -sin(tt);0 sin(tt) cos(tt)]; % Rotación sobre e1
Re2=[cos(tt) 0 sin(tt);0 1 0;-sin(tt) 0 cos(tt)]; % Rotación sobre e2
Re3=[cos(tt) -sin(tt) 0;sin(tt) cos(tt) 0;0 0 1] % Rotación sobre e3
% En este paso elegimos que rotación multiplicamos por los puntos (Re1, Re2 o Re3)e
N=Re3*N
% Creamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Los dibujamos con plot3
clf
plot3(x,y,z,'.')
% Ponemos los ejes como nos dicen
axis([-2,2,-2,2,-2,2])
% La Matriz de rotacion, ROT=cos(θ)'''1''' + (1-cos(θ)a×a) +sin(θ)ax
vector=[1 1 1]; % Eje de giro e1+e2+e3
tt=pi/16; % Ángulo de giro
z=vector/sqrt(sum(vector.^2)); % Conversión a vector unitario del eje de giro
ROT1=eye(3)*cos(tt); % cos(θ)I
ROT2=kron(z,z')*(1-cos(tt)); % (1-cos(θ)a×a)
ROT3=[0 -z(3) z(2); z(3) 0 -z(1);-z(2) z(1) 0]*sin(tt); % sin(θ)ax
ROT=ROT1+ROT2+ROT3; % Matriz de rotación final
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
N=ROT*N;
% Creamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Los dibujamos con plot3
clf
plot3(x,y,z,'.')
% Ponemos los ejes como nos dicen
axis([-2,2,-2,2,-2,2])
disp(ROT);

VELOCIDAD DE PARTÍCULA
clear all
%close all
%Definimos los puntos.
p=zeros(10,3); % Vector de posición de las partículas 1.5

for i=1:10
p(i,:)=[(i-1)/5,sin(pi*(i-1)/4),pi*(i-1)/30]; 1

w(i,:)=[0,0,1]; % ω=e3
end
0.5

v=cross(w,p); % Producto vectorial de los vectores posición y ω


p=[p(:,1),p(:,2),p(:,3)];
0
hold on
figure(1)
quiver3(p(:,1),p(:,2),p(:,3),v(:,1),v(:,2),v(:,3)) -0.5

%axis([-2,2,-2,2,-2,2])
plot3(p(:,1),p(:,2),p(:,3),'o','MarkerFaceColor','b') -1
-0.2 0 0.2
hold off

MOMENTO ANGULAR
G=[0 0 0;0 0 0;0 0 0];
s=[0 0 0;0 0 0;0 0 0]; G=
m=10;
x=0; 76.2537 6.5858 -59.6903
y=0; 6.5858 145.2537 3.4483
z=0; -59.6903 3.4483 159.0000
for i=1:10;
vpos=[(i-1)/5,sin(pi*(i-1)/4),pi*(i-1)/30];
for t=1:3;
for h=1:3;
if t==h;
s(1,1)=(vpos(2)^2)+(vpos(3)^2);
s(2,2)=(vpos(3)^2)+(vpos(1)^2);
s(3,3)=(vpos(2)^2)+(vpos(1)^2);
else
s(t,h)=-(vpos(t)*vpos(h));
end
end
end
G=G+s;
end
G=m*G

ENERGÍA CINÉTICA DEL SISTEMA Y TENSOR DE INERCIA


G=[76.2537 6.5858 -59.6903;6.5858 145.2537 3.4483;-59.6903 3.4483 159.0000];
%velocidad angular
w=[0 0 1];
Ec=0.5*(w*G*w')
G=[0 0 0;0 0 0;0 0 0];
s=[0 0 0;0 0 0;0 0 0];
m=10;
x=0;
y=0;
z=0;
for i=1:10;
vpos=[(i-1)/5,sin(pi*(i-1)/4),pi*(i-1)/30];
for t=1:3;
for h=1:3;
if t==h;
s(1,1)=(vpos(2)^2)+(vpos(3)^2);
s(2,2)=(vpos(3)^2)+(vpos(1)^2);
s(3,3)=(vpos(2)^2)+(vpos(1)^2);
else
s(t,h)=-(vpos(t)*vpos(h));
end
end
end
G=G+s;
x=x+(vpos(1)/10)
y=y+(vpos(2)/10)
z=z+(vpos(3)/10)
end
G=m*G
b=[-x -y -z];
tcdg=G-m*(((norm(b)^2)*eye(3))-b'*b)
%calculo energia cinetica con 1/2*m*v^2.
Ecin=0;
Ecini=0;
for i=1:10
vel=[v(i,1),v(i,2),v(i,3)];
Ecini=0.5*m*((vel(1)^2+vel(2)^2)+vel(3)^2);
Ecin=Ecin+Ecini;
end
Ecin=Ecin
%calculo energia cinetica con 1/2*w*G*w
w=[0 0 1];
Ecin1=0.5*w*G*w'
%calculo energia cinetica con 1/2*w*tcdg*w
w=[0 0 1];
Ecin2=0.5*w*tcdg*w'

https://mat.caminos.upm.es/wiki/Movimiento_de_un_sistema_de_part%C3%ADculas_(GRUPO_9C)
ordenadas de un punto

1.5
e los puntos
1

0.5

-0.5

-1

-1

-0.5

e las coordenadas de un punto


0

0.5

1.5 2
1.5
1
0.5
2 0
-0.5
-1
Z de los puntos
ordenadas de un punto tt =

0.1963

Re3 =

0.9808 -0.1951 0
0.1951 0.9808 0
0 0 1.0000

os (Re1, Re2 o Re3)en función de los que nos piden calcular N=

los puntos 0 0.0582 0.1972 0.4505 0.7846 1.1


0 0.7325 1.0588 0.8106 0.1561 -0.
0 0.1047 0.2094 0.3142 0.4189 0.5

0.9872 -0.1062 0.1190


0.1190 0.9872 -0.1062
-0.1062 0.1190 0.9872

rio del eje de giro

sin(θ)ax
los puntos

1.5

0.5

-0.5

-1
-0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
483 159.0000]; Ec =

79.5

x=

y=

z=

x=

0.02

y=

0.0707
z=

0.0105

x=

0.06

y=

0.1707

z=

0.0314

x=

0.12

y=

0.2414

z=

0.0628

x=

0.2

y=

0.2414
z=

0.1047

x=

0.3

y=

0.1707

z=

0.1571

x=

0.42

y=

0.0707

z=

0.2199

x=

0.56

y=

-1.39E-17
z=

0.2932

x=

0.72

y=

-3.84E-17

z=

0.377

x=

0.9

y=

0.0707

z=

0.4712

G=

76.2537 6.5858 -59.6903


6.5858 145.2537 3.4483
-59.6903 3.4483 159.0000

tcdg =
73.9831 7.2222 -55.4491
7.2222 134.9331 3.7815
-55.4491 3.7815 150.8500

Ecin =

79.5

Ecin1 =

79.5

Ecin2 =

75.425
2
1.5
2 0.1972 0.4505 0.7846 1.1187 1.3720 1.5110 1.5693 1.6275
5 1.0588 0.8106 0.1561 -0.4984 -0.7467 -0.4204 0.3121 1.0447
7 0.2094 0.3142 0.4189 0.5236 0.6283 0.7330 0.8378 0.9425

062 0.1190
872 -0.1062
190 0.9872

You might also like