Movimiento de un sistema de partículas (Grupo G9)

De MateWiki
Revisión del 18:56 20 nov 2015 de R.fernandez-reyesd (Discusión | contribuciones) (Calculo del tensor de rotacion de un sistema de puntos con ejes ω = e1, ω = e2, ω = e1+e2+e3 y angulo θ= π/16)

Saltar a: navegación, buscar

1 Visualización de un sistema de partículas

Para empezar a dibujar un sistema de partículas primero tenemos que generarlos. En nuestro caso, tenemos 21 partículas que inicialmente se encuentran en las coordenadas (xi ,yi ,zi) = (sin(π(i − 1)/10,cos(π(i − 1)/4), cos(π(i −1)/10), i = 1, 2, ..., 21 respecto a la base ortonormal {e1,e2,e3}. Supondremos que nuestras partículas están unidas por un alambre de masa despreciable de manera que su posición relativa no cambia.

t = (1:1:21);
for i = 1: length(t)
   x(i) = sin(pi*(t(i)-1)/10);
   y(i) = cos(pi*(t(i)-1)/4);
   z(i) = cos(pi*(t(i)-1)/10);
end
hold on
plot3(x,y,z,'-x')
axis equal 
axis ([-2,2,-2,2,-2,2])
hold off


2 Centro de masas de un sistema de particulas

2.1 Formula del centro de masas

En nuestro caso tenemos 21 particulas y cada particula tiene la misma masa mi=10. Para calcular el centro de masas hacemos uso de la formula de centro de masas : (∑inrimasai)/M donde Mtotal es la masa total (21×10=210),"masa" la masa de cada particula y ri= la distancia del punto al eje correspondiente x, y ó z. La funcion que usaremos es la siguiente;

masa = 10;
Mtotal = 21*masa;
X = zeros(1,21);
Y = zeros(1,21);
Z = zeros(1,21);

for i = 1:21
   X(1,i) = masa*x(i);
   Y(1,i) = masa*y(i);
   Z(1,i) = masa*z(i);
end
X = sum(X);
Y = sum(Y);
Z = sum(Z);

XG = (X/Mtotal);   
YG = (Y/Mtotal);
ZG = (Z/Mtotal);

2.2 Visualicacion del centro de masas

A continuación mostraremos un grafico con la curva y su centro de masas:

%Representacion de la curva
t = (1:1:21);
x = (sin(pi*(t-1)/10));
y = (cos (pi*(t-1)/4));
z = cos(pi*(t-1)/10);

figure(1)
plot3(x,y,z,'-x')
axis equal 
axis ([-2,2,-2,2,-2,2])
hold on

%Representación del centro de masas
masa = 10;
Mtotal = 21*masa;
X = zeros(1,21);
Y = zeros(1,21);
Z = zeros(1,21);

for i = 1:21
   X(1,i) = masa*x(i);
   Y(1,i) = masa*y(i);
   Z(1,i) = masa*z(i);
end
XG = sum(X)/Mtotal;
YG = sum(Y)/Mtotal;
ZG = sum(Z)/Mtotal;

plot3(XG,YG,ZG,'.g','linewidth',5)
hold off
figure(2)


3 Rotacion de un sistema de particulas

3.1 Matriz de componentes de una Rotación

En primer lugar, vamos a calcular analíticamente la matriz de componentes de una rotación. La fórmula de una rotación es: izquierda



donde w es el vector unitario: izquierda





Refiriéndonos a la base ortonormal {e1,e2,e3}, podemos expresar la rotación como: izquierda















Por lo que la matriz de componentes es: izquierda





3.2 Matriz Rotacion con eje ω=e3 y angulo θ= π/16

Para generar la matriz de rotacion necesitamos saber el eje y el angulo con el que queremos rotarlo. En nuestro caso estos valores seran eje ω=e3 y angulo θ= π/16. Para conseguir esta matriz hemos usado el siguiente codigo:

We3= [0,0,1];
mod = sqrt(sum(We3.^2));
We3 = We3./mod;
tt = pi/16;
% La Matriz de rotacion, R=cos(θ)I + (1-cos(θ)u×u +sin(θ)ux

R1=eye(3)*cos(tt);                                                                 % Genera la matriz corespondiente a cos(θ)I
R2=kron(We3,We3')*(1-cos(tt));                                                    % Genera la matriz corespondiete a (1-cos(θ)u×u
R3=[0 -We3(3) We3(2); We3(3) 0 -We3(1);-We3(2) We3(1) 0]*sin(tt);         % Genera la matriz corespondiete a sin(θ)ux
R=R1+R2+R3;                                                                      % Suma las matrices anteriores para calcula la matriz de rotacion
disp(R);


R3=R= 0.98079 -0.19509 0.00000 0.19509 0.98709 0.00000 0.00000 0.00000 1.00000

3.3 Visualizacion de un sistema de puntos rotados con eje ω=e3 y angulo θ= π/16

Para poder entonces visualizar el sistema de puntos rotado tenemos que multiplicar cada coordenada de nuestras particulas por la matriz de rotacion. De esta manera conseguimos sistema de puntos rotado. (Los puntos azules son los iniciales, los puntos rojos son los rotados, el eje verde es el eje de giro)

R3=R=[0.98079 -0.19509 0.00000 ;0.19509 0.98709 0.00000 ;0.00000 0.00000 1.00000];
i=(1:10); 
x=sin (pi*(i-1)/10);                                                                         %Coordenadas x de las particulas segun i
y=cos(pi*(i-1)/4);                                                             %Coordenadas y de las particulas segun i
z=cos(pi*(i-1)/10);                                                                   %Coordenadas z de las particulas segun i
f=[x;y;z];                                                                          % coordenadas de las particulas segun i
g=([x(i); y(i) ;z(i)]'*R3)';                                                   % Rota las particulas
plot3(g(1,:),g(2,:),g(3,:),'o-','MarkerFaceColor','r')         % Dibujar las particulas
hold on
plot3(x,y,z,'x-','MarkerFaceColor','y')
axis([-2,2,-2,2,-2,2])                                                        % Ejes fijados en la region [-2,2]*[-2,2]*[-2,2]
hold off


3.4 Calculo del tensor de rotacion de un sistema de puntos con ejes ω = e1, ω = e2, ω = e1+e2+e3 y angulo θ= π/16

Si queremos ahora rotar los puntos con otro eje de giro usamos un procedimiento analogo al que hemos usado en el apartado 3.1 (usamos el mismo codigo) . Lo que tenemos que hacer es volver a calcular la matriz de rotacion. Para los ejes ω = e1, ω = e2 el procedimiento es casi identico, solo habria que cambiar el vector introducido por v=[1 0 0], v=[0 1 0] y v [1 1 1] respectivamente.

Asi pues, para no repetir el codigo utilizado en apartados anteriores, escribiremos directamente el tensor rotación obtenido para cada eje, siendo R1 para [1 0 0], R2 para [0 1 0] y R4 para [1 1 1].

R1=[1 0 0; 0 0.980785 -0.19509; 0 0.19509 0.980785]
R2=[0.980785 0 0.19509; 0 1 0; -0.19509 0 0.980785]
R4=[0.98719 -0.106231 0.11904; 0.11904 0.98719 -0.106231; -0.106231 0.11904 0.98719]


3.5 Visualizacion de un sistema de puntos rotados con ejes ω = e1, ω = e2, ω = e1+e2+e3 y angulo θ= π/16

Para poder ahora visualizar los sistemas de puntos rotados tenemos que multiplicar cada coordenada de nuestras particulas por cada matriz de rotacion como hizimos en el apartado 3.2 (usamos el mismo codigo) . De esta manera conseguimos sistema de puntos rotados. (Los puntos azules son los iniciales, los puntos rojos son los rotados, el eje verde es el eje de giro)

4 Velocidad de los puntos del sistema

4.1 Relación entre la velocidad de los puntos del sistema con su posición mediante un tensor antisimétrico A

Supongamos ahora que el sistema gira alrededor de un eje genérico con vector de dirección unitario ϖ de manera que la variación angular viene dada por la función θ(t) donde t ∈ [0, π] es el tiempo.

En primer lugar, vamos a comprobar analíticamente que la velocidad de los puntos del sistema está relacionada con su posición mediante un tensor antisimétrico A, es decir:

izquierda




Un tensor es antisimétrico si

izquierda



En (1) A es la velocidad angular. Para demostrar que la velocidad angular de una rotación es un tensor antisimético, vamos a derivar la siguiente relación:

izquierda



de donde se obtiene la matriz antisimétrica definida como:

izquierda



que coincide con la definición de tensor velocidad angular.


4.2 Demostracción que el vector axial asociado a A es θ'(t)ϖ

La velocidad angular se define como el ángulo girado por unidad de tiempo.

izquierda




Para un objeto que gira alrededor de un eje, cada punto del objeto tiene la misma velocidad angular.


La forma matricial para representar la velocidad angular, puede ser deducida a partir de matrices de rotación.


Cualquier vector que gira alrededor de un eje con velocidad angular ϖ satisface:

izquierda




donde ω× se conoce como vector axial.


Podemos definir el tensor velocidad angular asociado con la velocidad angular ϖ como:

izquierda






Este tensor antisimétrico A(t) actúa como si ω× fuera un operador:

izquierda



Dada una matriz de rotación R(t) se puede obtener en cada instante el tensor velocidad angular A(t) como se muestra a continuación.


Se cumple que:

izquierda




Como la velocidad angular debe ser la misma para los tres vectores de un mismo sistema de referencia, si la matriz R(t) cuyas tres columnas son tres vectores unitarios simultáneamente perpendiculares, podemos escribir la relación:

izquierda




Y por tanto la velocidad angular se puede definir como:

izquierda




De donde se deduce que

izquierda