Diferencia entre revisiones de «Movimiento de partículas. Grupo 22C»
| 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== |
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 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: | ||
}} | }} | ||
| − | === | + | ===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| | + | [[Archivo: Visualización.jpg|600x400px|centro|Visualización del centro de masas]] |
| − | == | + | ==ROTACIÓN DE UN SISTEMA DE PARTÍCULAS== |
| − | ===Matriz | + | ===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 | + | %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 | ||
| − | === | + | ===Visualización de un sistema de puntos rotados con eje ω=e<sub>3</sub> y ángulo θ= π/16=== |
| − | + | ||
| − | [[Archivo: Rotacion1.jpg|600x400px|centro| | + | [[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=== | ||
| − | |||
Código: | Código: | ||
| Línea 211: | Línea 211: | ||
}} | }} | ||
| − | La matriz de componentes del tensor de la segunda | + | 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 | ||
| − | === | + | ===Visualización de un sistema de puntos rotados con eje ω=e<sub>1</sub> y angulo θ= π/16=== |
| − | [[Archivo: Rotacion2.jpg|600x400px|centro| | + | [[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=== | ||
| − | |||
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 | ||
| − | === | + | ===Visualización de un sistema de puntos rotados con eje ω=e<sub>2</sub> y ángulo θ= π/16=== |
| − | + | ||
| + | [[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: | + | [[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]] |
| − | == | + | ==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.
Contenido
- 1 VISUALIZACIÓN DE UN SISTEMA DE PARTÍCULAS
- 2 CENTRO DE MASAS DE UN SISTEMA DE PARTÍCULAS
- 3 ROTACIÓN DE UN SISTEMA DE PARTÍCULAS
- 3.1 Matriz rotación con eje ω=e3 y angulo θ= π/16
- 3.2 Visualización de un sistema de puntos rotados con eje ω=e3 y ángulo θ= π/16
- 3.3 Matriz rotación con eje ω=e1 y angulo θ= π/16
- 3.4 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
- 3.6 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
- 3.8 Visualización 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
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]
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 on2 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:
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
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
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
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