math - taquicardia - Calcula la posición de un cuerpo que se acelera después de un cierto tiempo
taquicardia en el embarazo sintomas (5)
¿Cómo calculo la posición de un cuerpo que se acelera (por ejemplo, un automóvil) después de un cierto tiempo (por ejemplo, 1 segundo)?
Para un cuerpo en movimiento que no se está acelerando, es una relación lineal, así que supongo que para un cuerpo en aceleración implica un cuadrado en alguna parte.
¿Algunas ideas?
Bueno, depende de si la aceleración es constante o no. Si es así, es simplemente
s = ut+1/2 at^2
Si a no es constante, debe estar integrado numéricamente. Ahora hay una variedad de métodos y ninguno de ellos lo vencerá haciendo esto a mano para la precisión, ya que en última instancia son soluciones aproximadas.
Lo más fácil y menos preciso es el método de Euler . Aquí divide el tiempo en fragmentos discretos llamados pasos de tiempo, y realiza
v[n] = v[n-1] * t * a[t]
n
es índice, t
es el tamaño de un paso de tiempo. La posición se actualiza de forma similar. Esto solo es realmente bueno para aquellos casos en los que la precisión no es tan importante. Una versión especial del método de Euler arrojará una solución exacta para el movimiento del proyectil (ver wiki), por lo que aunque este método es tosco, puede ser perfecto para algunas jugadas.
El método de integración numérica más común utilizado en los juegos y en algunas simulaciones químicas es Velocity Verlet , que es una forma especial del método Verlet más genérico. Yo recomendaría este si el de Euler es demasiado crudo.
La ecuación es: s = ut + (1/2) en ^ 2
donde s es la posición, u es la velocidad en t = 0, t es el tiempo y a es una aceleración constante.
Por ejemplo, si un automóvil arranca estacionario y acelera durante dos segundos con una aceleración de 3 m / s ^ 2, se mueve (1/2) * 3 * 2 ^ 2 = 6 m
Esta ecuación proviene de la integración analítica de las ecuaciones que establecen que la velocidad es la tasa de cambio de posición, y la aceleración es la velocidad de cambio de la velocidad.
Por lo general, en una situación de programación de juegos, uno utilizaría una formulación ligeramente diferente: en cada cuadro, las variables de velocidad y posición se integran no analíticamente, sino numéricamente:
s = s + u * dt;
u = u + a * dt;
donde dt es la longitud de un cuadro (medido con un temporizador: 1/60 de segundo o más). Este método tiene la ventaja de que la aceleración puede variar en el tiempo.
Editar Un par de personas han notado que el método de integración numérica de Euler (como se muestra aquí), aunque es el más fácil de demostrar, tiene una precisión bastante pobre. Ver Velocity Verlet (de uso frecuente en juegos), y Runge Kutta de cuarto orden (un método "estándar" para aplicaciones científicas) para algoritmos mejorados.
Puedes googlearlo Encontré esto: http://www.ugrad.math.ubc.ca/coursedoc/math101/notes/applications/velocity.html
Pero si no quieres leer, es:
p (t) = x (0) + v (0) * t + (1/2) a t ^ 2
dónde
- p (t) = posición en el tiempo t
- x (0) = la posición en el tiempo cero
- v (0) = velocidad en el tiempo cero (si no tiene velocidad, puede ignorar este término)
- a = la aceleración
- t = tu itme actual
Suponiendo aceleración constante y velocidad inicial v0,
x(t) = (1/2 * a * t^2) + (v0 * t)
Suponiendo que se trata de una aceleración constante, la fórmula es:
distance = (initial_velocity * time) + (acceleration * time * time) / 2
dónde
la distancia es la distancia recorrida
initial_velocity es la velocidad inicial (cero si el cuerpo está inicialmente en reposo, por lo que puede descartar este término en ese caso)
el tiempo es el momento
la aceleración es la aceleración (constante)
Asegúrese de utilizar las unidades adecuadas al calcular, es decir, metros, segundos, etc.
Un muy buen libro sobre el tema es Física para desarrolladores de juegos .