Como animar varios puntos a la vez?
Publicado por Juan Carlos (22 intervenciones) el 10/07/2019 21:46:16
En general se trata de ajustar una misma velocidad para un grupo de objetos que se comienzan a desplazar a diferentes velocidades entre sí, se aplican conceptos de álgebra lineal para calcular tal velocidad.
Hasta aquí todo bien.
El problema es que no se como graficar el movimiento de cada objeto.
Al inicio se tienen varios objetos (la cantidad de estos se establece de manera arbitraria), estos objetos se mueven con velocidades iniciales diferentes de cero y diferentes entre sí
La idea que tengo es animar estos objetos (puntos creo que es lo más viable), al inicio se vieran puntos desplazandose a ciertas velocidad hasta que se mueven al parejo. Eso es lo que no se hacer.
Aquí lo que llevo

Ahora bien, lo que quiero es graficar/animar los objetos con las velocidades mostradas, además de generalizar esto para n objetos, es decir dependiendo de lo que se escriba en la línea
se generen las gráficas con los objetos respectivos en vez de ajustar el código cada vez para un determinado número de objetos
Gracias de antemano!
Hasta aquí todo bien.
El problema es que no se como graficar el movimiento de cada objeto.
Al inicio se tienen varios objetos (la cantidad de estos se establece de manera arbitraria), estos objetos se mueven con velocidades iniciales diferentes de cero y diferentes entre sí
La idea que tengo es animar estos objetos (puntos creo que es lo más viable), al inicio se vieran puntos desplazandose a ciertas velocidad hasta que se mueven al parejo. Eso es lo que no se hacer.
Aquí lo que llevo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
%Se define a la matriz Laplaciana
B=[1 1 0 0 0;-1 0 1 1 0;0 0 0 -1 0;0 -1 0 0 0;0 0 -1 0 1;0 0 0 0 -1];
L=B*B';
% Cálculo de Valores propios y Núcleo
lambda = eig(L) % Valores propios
Lr = rref(L) % reduce por Gauss
% Solución numérica de la Ecuación Diferencial
t = linspace(0,15,1000); % tiempo de simulacion 0-20s con 1000 divisiones
x0 = [1;2;3;4;5;6] % velocidades iniciales de cada objeto/definición arbitraria implícita cantidad objetos
[t,x] = ode45(@consenso,t,x0); % solución con ODE45: Manda llamar a la función consenso
%% %Gráficas
subplot(2,1,1)
plot(t,x,'linewidth',1.5)
xlabel('tiempo [s]')
ylabel('Velocidad [m/s]')% gráfica de la velocidad
grid
subplot(2,1,2)
plot (real (lambda), imag (lambda),'bs','linewidth',1.5 ),grid
axis ([-2 10 -2 2])
xlabel('eje real')
ylabel('eje imaginario')% gráfica de la velocidad
legend('Valores propios')

Ahora bien, lo que quiero es graficar/animar los objetos con las velocidades mostradas, además de generalizar esto para n objetos, es decir dependiendo de lo que se escriba en la línea
1
x0 = [objeto1;objeto2;objeto3;...]
se generen las gráficas con los objetos respectivos en vez de ajustar el código cada vez para un determinado número de objetos
Gracias de antemano!

Valora esta pregunta


0