Diferencia entre revisiones de «Movimiento de partículas. Grupo 22C»

De MateWiki
Saltar a: navegación, buscar
Línea 2: Línea 2:
 
Palacios Pintor, Pedro
 
Palacios Pintor, Pedro
  
Lafita, María
+
Lafita Gómez-Bravo, María
  
 
De la Torre Prado, Yago
 
De la Torre Prado, Yago
Línea 15: Línea 15:
 
Consideramos un conjunto de 20 partículas que inicialmente se encuentran en los puntos de coordenadas (xi,yi,zi) = (cos(2πi/10),sin(2πi/10), i/10), i=1, 2, ..., 20 respecto a la base ortonormal {e1,e2,e3}. Supondremos que las partículas están unidas por alambres de masa despreciable de manera que su posición relativa no cambia.
 
Consideramos un conjunto de 20 partículas que inicialmente se encuentran en los puntos de coordenadas (xi,yi,zi) = (cos(2πi/10),sin(2πi/10), i/10), i=1, 2, ..., 20 respecto a la base ortonormal {e1,e2,e3}. Supondremos que las partículas están unidas por alambres de masa despreciable de manera que su posición relativa no cambia.
  
==Visualización de un sistema de partículas==
+
==VISUALIZACIÓN DE UN SISTEMA DE PARTÍCULAS==
 
Los ejes de la siguiente figura están fijados en la región [-2,2]x[-2,2]x[0,2]
 
Los ejes de la siguiente figura están fijados en la región [-2,2]x[-2,2]x[0,2]
 
[[Archivo:Visualización1.jpg||600x400px||centro|Visualizacion de un sistema de particulas]]
 
[[Archivo:Visualización1.jpg||600x400px||centro|Visualizacion de un sistema de particulas]]
Línea 47: Línea 47:
 
hold on
 
hold on
 
}}
 
}}
==Centro de masas de un sistema de particulas==
+
==CENTRO DE MASAS DE UN SISTEMA DE PARTÍCULAS==
  
 
Sabiendo que las partículas tienen masa creciente m<sub>i</sub>=10+i/10, para calcular el centro de masas hacemos uso de la siguiente fórmula:
 
Sabiendo que las partículas tienen masa creciente m<sub>i</sub>=10+i/10, para calcular el centro de masas hacemos uso de la siguiente fórmula:
Línea 82: Línea 82:
 
}}
 
}}
  
===Visualicacion del centro de masas===
+
===Visualización del centro de masas===
 
Esta sería la gráfica obtenida ejecutando el programa anterior:
 
Esta sería la gráfica obtenida ejecutando el programa anterior:
  
[[Archivo:Visualización.jpg|600x400px|centro|Visualicacion del centro de masas]]
+
[[Archivo: Visualización.jpg|600x400px|centro|Visualización del centro de masas]]
  
  
==Rotacion de un sistema de particulas==
+
==ROTACIÓN DE UN SISTEMA DE PARTÍCULAS==
===Matriz Rotacion con eje ω=e<sub>3</sub> y angulo θ= π/16===
+
===Matriz rotación con eje ω=e<sub>3</sub> y angulo θ= π/16===
 
Calculamos la matriz de rotación a partir de un eje ω=e<sub>3</sub> y un ángulo θ= π/16.
 
Calculamos la matriz de rotación a partir de un eje ω=e<sub>3</sub> y un ángulo θ= π/16.
 
El código que nos permite obtener dicha matriz de rotación es esta:
 
El código que nos permite obtener dicha matriz de rotación es esta:
Línea 95: Línea 95:
 
{{matlab| codigo=
 
{{matlab| codigo=
 
%esta parte del programa calcula la primera matriz de rotación%
 
%esta parte del programa calcula la primera matriz de rotación%
%calculamos la matriz de la rotación a partir de un eje de verctor w y un angulo theta%
+
%calculamos la matriz de la rotación a partir de un eje de vector w y un ángulo theta%
 
w=[0, 0 , 1];
 
w=[0, 0 , 1];
 
theta=pi/16;
 
theta=pi/16;
Línea 151: Línea 151:
 
         0        0    1.0000
 
         0        0    1.0000
  
===Visualizacion de un sistema de puntos rotados con eje ω=e<sub>3</sub> y angulo θ= π/16===
+
===Visualización de un sistema de puntos rotados con eje ω=e<sub>3</sub> y ángulo θ= π/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.
+
  
[[Archivo: Rotacion1.jpg|600x400px|centro|Visualizacion de un sistema de puntos rotados con eje ω=e<sub>3</sub> y angulo θ= π/16]]
+
[[Archivo: Rotacion1.jpg|600x400px|centro|Visualización de un sistema de puntos rotados con eje ω=e<sub>3</sub> y angulo θ= π/16]]
 +
 
 +
===Matriz rotación con eje ω=e<sub>1</sub> y angulo θ= π/16===
  
===Matriz Rotacion con eje ω=e<sub>1</sub> y angulo θ= π/16===
 
 
Código:
 
Código:
  
Línea 211: Línea 211:
 
}}
 
}}
  
La matriz de componentes del tensor de la segunda rotacion es:
+
La matriz de componentes del tensor de la segunda rotación es:
  
 
     1.0000        0        0
 
     1.0000        0        0
Línea 217: Línea 217:
 
         0    0.1951    0.9808
 
         0    0.1951    0.9808
  
===Visualizacion de un sistema de puntos rotados con eje ω=e<sub>1</sub> y angulo θ= π/16===
+
===Visualización de un sistema de puntos rotados con eje ω=e<sub>1</sub> y angulo θ= π/16===
  
[[Archivo: Rotacion2.jpg|600x400px|centro|Visualizacion de un sistema de puntos rotados con eje ω=e<sub>1</sub> y angulo θ= π/16]]
+
[[Archivo: Rotacion2.jpg|600x400px|centro|Visualización de un sistema de puntos rotados con eje ω=e<sub>1</sub> y angulo θ= π/16]]
 +
 
 +
===Matriz rotación con eje ω=e<sub>2</sub> y angulo θ= π/16===
  
===Matriz Rotacion con eje ω=e<sub>2</sub> y angulo θ= π/16===
 
 
Calculamos la matriz de rotación a partir de un eje ω=e<sub>2</sub> y un ángulo θ= π/16.
 
Calculamos la matriz de rotación a partir de un eje ω=e<sub>2</sub> y un ángulo θ= π/16.
 
El código que nos permite obtener dicha matriz de rotación es esta:
 
El código que nos permite obtener dicha matriz de rotación es esta:
Línea 283: Línea 284:
 
   -0.1951        0    0.9808
 
   -0.1951        0    0.9808
  
===Visualizacion de un sistema de puntos rotados con eje ω=e<sub>2</sub> y angulo θ= π/16===
+
===Visualización de un sistema de puntos rotados con eje ω=e<sub>2</sub> y ángulo θ= π/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.
+
 
 +
[[Archivo: Rotacion3.jpg|600x400px|centro|Visualización de un sistema de puntos rotados con eje ω=e<sub>2</sub> y ángulo θ= π/16]]
 +
 
 +
===Matriz rotación con eje ω=e<sub>1</sub>+e<sub>2</sub>+e<sub>3</sub> y ángulo θ= π/16===
 +
 
 +
{{matlab| codigo=
 +
%calculamos la matriz de la cuarta rotación a partir de un vector w y un eje angulo theta%
 +
a=1/sqrt(3);
 +
w=[a, a, a];clc
 +
theta=pi/16;
 +
matriz1=eye(3);
 +
matriz2=zeros(3,3);
 +
matriz3=zeros(3,3);
 +
for i=1:3
 +
matriz2(1,i)=(w(1)*w(i));
 +
matriz2(2,i)=(w(2)*w(i));
 +
matriz2(3,i)=(w(3)*w(i));
 +
end
 +
clear('i');
 +
matriz3(1,1)=0;
 +
matriz3(1,2)=(-1*w(3));
 +
matriz3(1,3)=(w(2));
 +
matriz3(2,1)=(w(3));
 +
matriz3(2,2)=0;
 +
matriz3(2,3)=(-1*w(1));
 +
matriz3(3,1)=(-1*w(2));
 +
matriz3(3,2)=(w(1));
 +
matriz3(3,3)=0;
 +
%construimos la matriz de rotación
 +
rotacion4=zeros(3,3);
 +
matrizaux1=(cos(theta)*matriz1);
 +
matrizaux2=((1-cos(theta))*matriz2);
 +
matrizaux3=(sin(theta)*matriz3);
 +
rotacion4=matrizaux1+matrizaux2+matrizaux3;
 +
clear('vaux');
 +
%separamos los vectores directores de cada partícula y les hacemos la rotación
 +
coorxR4=zeros(1,20);
 +
cooryR4=zeros(1,20);
 +
coorzR4=zeros(1,20);
 +
vaux=zeros(3,1);
 +
for i=1:20
 +
vaux(1,1)=coorX(1,i);
 +
vaux(2,1)=coorY(1,i);
 +
vaux(3,1)=coorZ(1,i);
 +
rotpunto=rotacion4*vaux;
 +
coorxR4(1,i)=rotpunto(1);
 +
cooryR4(1,i)=rotpunto(2);
 +
coorzR4(1,i)=rotpunto(3);
 +
clear('rotpunto');
 +
end
 +
clear('i');
 +
plot3(coorxR4,cooryR4, coorzR4, '--p m')
 +
axis([-2,2,-2,2,0,2])
 +
hold on
 +
plot3(coorX, coorY, coorZ, '--. b')
 +
clear ('matriz1','matriz2','matriz3','w','matrizaux1','matrizaux2','matrizaux3');
 +
hold off
 +
%fin del apartado 3%
 +
}}
 +
 
 +
 
 +
La matriz de componentes del tensor de la tercera rotación es:
 +
    0.9872  -0.1062    0.1190
 +
    0.1190    0.9872  -0.1062
 +
  -0.1062    0.1190    0.9872
 +
 
 +
===Visualización de un sistema de puntos rotados con eje ω=e<sub>1</sub>+e<sub>2</sub>+e<sub>3</sub> y ángulo θ= π/16===
  
[[Archivo: Rotacion3.jpg|600x400px|centro|Visualizacion de un sistema de puntos rotados con eje ω=e<sub>2</sub> y angulo θ= π/16]]
+
[[Archivo: Rotacion4.jpg|600x400px|centro|Visualizacion de un sistema de puntos rotados con eje ω=e<sub>1</sub>+e<sub>2</sub>+e<sub>3</sub> y ángulo θ= π/16]]
  
===Matriz Rotacion con eje ω=e<sub>1</sub>+e<sub>2</sub>+e<sub>3</sub> y angulo θ= π/16===
+
==DEFINICIÓN DE LA VELOCIDAD COMO UN TENSOR ANTISIMÉTRICO==

Revisión del 13:15 4 dic 2014

Trabajo realizado por estudiantes
Título Movimiento de un sistema de partículas. (Grupo 22-C)
Asignatura Teoría de Campos
Curso 2014-15
Autores

Palacios Pintor, Pedro

Lafita Gómez-Bravo, María

De la Torre Prado, Yago

Vidal Sánchez, Nieves

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


Consideramos un conjunto de 20 partículas que inicialmente se encuentran en los puntos de coordenadas (xi,yi,zi) = (cos(2πi/10),sin(2πi/10), i/10), i=1, 2, ..., 20 respecto a la base ortonormal {e1,e2,e3}. Supondremos que las partículas están unidas por alambres de masa despreciable de manera que su posición relativa no cambia.

1 VISUALIZACIÓN DE UN SISTEMA DE PARTÍCULAS

Los ejes de la siguiente figura están fijados en la región [-2,2]x[-2,2]x[0,2] Visualizacion de un sistema de particulas

El código en MATLAB para obtener la gráfica del sistema sería:

%la primera parte del programa calcula las coordenadas de los puntos materiales
%crea una matriz de 3 filas y 20 columnas, donde cada columna son las tres coordenadas de los puntos
coordenadas=zeros(3,20);
for i=1:20
coordenadas(1,i)=(cos((2*pi*i)/10));
coordenadas(2,i)=(sin((2*pi*i)/10));
coordenadas(3,i)=(i/10);
end
clear('i');
%dibujamos la helice en 3d con los ejes pedidos, creamos los vectores de coordeandas X, Y, Z
coorX=zeros(1,20);
coorY=zeros(1,20);
coorZ=zeros(1,20);
for i=1:20
coorX(1,i)=coordenadas(1,i);
coorY(1,i)=coordenadas(2,i);
coorZ(1,i)=coordenadas(3,i);
end
clear('i');
%pintamos esos vectores
figure(1);
plot3(coorX,coorY,coorZ, '--. b');
axis([-2,2,-2,2,0,2]);
hold on

2 CENTRO DE MASAS DE UN SISTEMA DE PARTÍCULAS

Sabiendo que las partículas tienen masa creciente mi=10+i/10, para calcular el centro de masas hacemos uso de la siguiente fórmula: (∑inrimi)/M donde M es la masa total y ri= la distancia del punto al eje correspondiente x,y ó z. El código de Matlab será el siguiente:

%calculamos una matriz con las masas
masas=zeros(1,20);
for i=1:20
masas(1,i)=(10+i/10);
end
clear('i');
%calculamos cuanto aporta cada particula al centro de masas y el centro de masas
auxXG=zeros(1,20);
auxYG=zeros(1,20);
auxZG=zeros(1,20);
for i=1:20
auxXG(1,i)=(masas(1,i)*coorX(1,i));
auxYG(1,i)=(masas(1,i)*coorY(1,i));
auxZG(1,i)=(masas(1,i)*coorZ(1,i));
end
clear('i');
masatotal=sum(masas);
auxXG=sum(auxXG);
auxYG=sum(auxYG);
auxZG=sum(auxZG);
%calculamos las coordenads del centro de masas y lo pintamos
XG=((1/masatotal)*auxXG);
YG=((1/masatotal)*auxYG);
ZG=((1/masatotal)*auxZG);
plot3(XG,YG,ZG,'. g ','linewidth',10)
hold off
figure(2);


2.1 Visualización del centro de masas

Esta sería la gráfica obtenida ejecutando el programa anterior:

Visualización del centro de masas


3 ROTACIÓN DE UN SISTEMA DE PARTÍCULAS

3.1 Matriz rotación con eje ω=e3 y angulo θ= π/16

Calculamos la matriz de rotación a partir de un eje ω=e3 y un ángulo θ= π/16. El código que nos permite obtener dicha matriz de rotación es esta:

%esta parte del programa calcula la primera matriz de rotación%
%calculamos la matriz de la rotación a partir de un eje de vector w y un ángulo theta%
w=[0, 0 , 1];
theta=pi/16;
matriz1=eye(3);
matriz2=zeros(3,3);
matriz3=zeros(3,3);
for i=1:3
matriz2(1,i)=(w(1)*w(i));
matriz2(2,i)=(w(2)*w(i));
matriz2(3,i)=(w(3)*w(i));
end
clear('i');
matriz3(1,1)=0;
matriz3(1,2)=(-1*w(3));
matriz3(1,3)=(w(2));
matriz3(2,1)=(w(3));
matriz3(2,2)=0;
matriz3(2,3)=(-1*w(1));
matriz3(3,1)=(-1*w(2));
matriz3(3,2)=(w(1));
matriz3(3,3)=0;
%construimos la matriz de rotación%
rotacion1=zeros(3,3);
matrizaux1=(cos(theta)*matriz1);
matrizaux2=((1-cos(theta))*matriz2);
matrizaux3=(sin(theta)*matriz3);
rotacion1=matrizaux1+matrizaux2+matrizaux3;
%separamos los vectores directores de cada particula y les hacemos la rotación%
coorxR1=zeros(1,20);
cooryR1=zeros(1,20);
coorzR1=zeros(1,20);
vaux=zeros(3,1);
for i=1:20
vaux(1,1)=coorX(1,i);
vaux(2,1)=coorY(1,i);
vaux(3,1)=coorZ(1,i);
rotpunto=rotacion1*vaux;
coorxR1(1,i)=rotpunto(1);
cooryR1(1,i)=rotpunto(2);
coorzR1(1,i)=rotpunto(3);
clear('rotpunto');
end
clear('i');
plot3(coorxR1,cooryR1, coorzR1, '--. g')
axis([-2,2,-2,2,0,2])
hold on
plot3(coorX, coorY, coorZ, '--p b')
hold off


La matriz de componentes del tensor de la primera rotación es:

   0.9808   -0.1951         0
   0.1951    0.9808         0
        0         0    1.0000

3.2 Visualización de un sistema de puntos rotados con eje ω=e3 y ángulo θ= π/16

Visualización de un sistema de puntos rotados con eje ω=e3 y angulo θ= π/16

3.3 Matriz rotación con eje ω=e1 y angulo θ= π/16

Código:

%segunda matriz de rotacion, eje e1%
w=[1, 0 , 0];
theta=pi/16;
matriz1=eye(3);
matriz2=zeros(3,3);
matriz3=zeros(3,3);
for i=1:3
matriz2(1,i)=(w(1)*w(i));
matriz2(2,i)=(w(2)*w(i));
matriz2(3,i)=(w(3)*w(i));
end
clear('i');
matriz3(1,1)=0;
matriz3(1,2)=(-1*w(3));
matriz3(1,3)=(w(2));
matriz3(2,1)=(w(3));
matriz3(2,2)=0;
matriz3(2,3)=(-1*w(1));
matriz3(3,1)=(-1*w(2));
matriz3(3,2)=(w(1));
matriz3(3,3)=0;
%construimos la matriz de rotación%
rotacion2=zeros(3,3);
matrizaux1=(cos(theta)*matriz1);
matrizaux2=((1-cos(theta))*matriz2);
matrizaux3=(sin(theta)*matriz3);
rotacion2=matrizaux1+matrizaux2+matrizaux3;
clear ('vaux');
%separamos los vectores directores de cada particula y les hacemos la rotación%
coorxR2=zeros(1,20);
cooryR2=zeros(1,20);
coorzR2=zeros(1,20);
vaux=zeros(3,1);
for i=1:20
vaux(1,1)=coorX(1,i);
vaux(2,1)=coorY(1,i);
vaux(3,1)=coorZ(1,i);
rotpunto=rotacion2*vaux;
coorxR2(1,i)=rotpunto(1);
cooryR2(1,i)=rotpunto(2);
coorzR2(1,i)=rotpunto(3);
clear('rotpunto');
end
clear('i');
plot3(coorxR2,cooryR2, coorzR2, '--p r')
axis([-2,2,-2,2,0,2])
hold on
plot3(coorX, coorY, coorZ, '--. b')
hold off


La matriz de componentes del tensor de la segunda rotación es:

   1.0000         0         0
        0    0.9808   -0.1951
        0    0.1951    0.9808

3.4 Visualización de un sistema de puntos rotados con eje ω=e1 y angulo θ= π/16

Visualización de un sistema de puntos rotados con eje ω=e1 y angulo θ= π/16

3.5 Matriz rotación con eje ω=e2 y angulo θ= π/16

Calculamos la matriz de rotación a partir de un eje ω=e2 y un ángulo θ= π/16. El código que nos permite obtener dicha matriz de rotación es esta:

%calculamos la matriz de la tercera rotación a partir de un vector w y un eje angulo theta%
w=[0, 1, 0];
theta=pi/16;
matriz1=eye(3);
matriz2=zeros(3,3);
matriz3=zeros(3,3);
for i=1:3
matriz2(1,i)=(w(1)*w(i));
matriz2(2,i)=(w(2)*w(i));
matriz2(3,i)=(w(3)*w(i));
end
clear('i');
matriz3(1,1)=0;
matriz3(1,2)=(-1*w(3));
matriz3(1,3)=(w(2));
matriz3(2,1)=(w(3));
matriz3(2,2)=0;
matriz3(2,3)=(-1*w(1));
matriz3(3,1)=(-1*w(2));
matriz3(3,2)=(w(1));
matriz3(3,3)=0;
%construimos la matriz de rotación%
rotacion3=zeros(3,3);
matrizaux1=(cos(theta)*matriz1);
matrizaux2=((1-cos(theta))*matriz2);
matrizaux3=(sin(theta)*matriz3);
rotacion3=matrizaux1+matrizaux2+matrizaux3;
clear('vaux');
%separamos los vectores directores de cada particula y les hacemos la rotación%
coorxR3=zeros(1,20);
cooryR3=zeros(1,20);
coorzR3=zeros(1,20);
vaux=zeros(3,1);
for i=1:20
vaux(1,1)=coorX(1,i);
vaux(2,1)=coorY(1,i);
vaux(3,1)=coorZ(1,i);
rotpunto=rotacion3*vaux;
coorxR3(1,i)=rotpunto(1);
cooryR3(1,i)=rotpunto(2);
coorzR3(1,i)=rotpunto(3);
clear('rotpunto');
end
clear('i');
plot3(coorxR3,cooryR3, coorzR3, '--p k')
axis([-2,2,-2,2,0,2])
hold on
plot3(coorX, coorY, coorZ, '--. b')
hold off


La matriz de componentes del tensor de la tercera rotación es:

   0.9808         0    0.1951
        0    1.0000         0
  -0.1951         0    0.9808

3.6 Visualización de un sistema de puntos rotados con eje ω=e2 y ángulo θ= π/16

Visualización de un sistema de puntos rotados con eje ω=e2 y ángulo θ= π/16

3.7 Matriz rotación con eje ω=e1+e2+e3 y ángulo θ= π/16

%calculamos la matriz de la cuarta rotación a partir de un vector w y un eje angulo theta%
a=1/sqrt(3);
w=[a, a, a];clc
theta=pi/16;
matriz1=eye(3);
matriz2=zeros(3,3);
matriz3=zeros(3,3);
for i=1:3
matriz2(1,i)=(w(1)*w(i));
matriz2(2,i)=(w(2)*w(i));
matriz2(3,i)=(w(3)*w(i));
end
clear('i');
matriz3(1,1)=0;
matriz3(1,2)=(-1*w(3));
matriz3(1,3)=(w(2));
matriz3(2,1)=(w(3));
matriz3(2,2)=0;
matriz3(2,3)=(-1*w(1));
matriz3(3,1)=(-1*w(2));
matriz3(3,2)=(w(1));
matriz3(3,3)=0;
%construimos la matriz de rotación
rotacion4=zeros(3,3);
matrizaux1=(cos(theta)*matriz1);
matrizaux2=((1-cos(theta))*matriz2);
matrizaux3=(sin(theta)*matriz3);
rotacion4=matrizaux1+matrizaux2+matrizaux3;
clear('vaux');
%separamos los vectores directores de cada partícula y les hacemos la rotación
coorxR4=zeros(1,20);
cooryR4=zeros(1,20);
coorzR4=zeros(1,20);
vaux=zeros(3,1);
for i=1:20
vaux(1,1)=coorX(1,i);
vaux(2,1)=coorY(1,i);
vaux(3,1)=coorZ(1,i);
rotpunto=rotacion4*vaux;
coorxR4(1,i)=rotpunto(1);
cooryR4(1,i)=rotpunto(2);
coorzR4(1,i)=rotpunto(3);
clear('rotpunto');
end
clear('i');
plot3(coorxR4,cooryR4, coorzR4, '--p m')
axis([-2,2,-2,2,0,2])
hold on
plot3(coorX, coorY, coorZ, '--. b')
clear ('matriz1','matriz2','matriz3','w','matrizaux1','matrizaux2','matrizaux3');
hold off
%fin del apartado 3%


La matriz de componentes del tensor de la tercera rotación es:

   0.9872   -0.1062    0.1190
   0.1190    0.9872   -0.1062
  -0.1062    0.1190    0.9872

3.8 Visualización de un sistema de puntos rotados con eje ω=e1+e2+e3 y ángulo θ= π/16

Visualizacion de un sistema de puntos rotados con eje ω=e1+e2+e3 y ángulo θ= π/16

4 DEFINICIÓN DE LA VELOCIDAD COMO UN TENSOR ANTISIMÉTRICO