1 votos

Calcular la distancia en función de - Resistencia - Aceleración - Tiempo - Velocidad inicial

He estado buscando ecuaciones que puedan representar la distancia que recorre algo dadas estas tres variables. Velocidad inicial, resistencia, aceleración y tiempo.

Lo principal que vi que era similar fue un cálculo para la caída libre y la resistencia del aire. Sin embargo, los únicos problemas que encontré al mirarlos fueron que incluían la variable de la gravedad. La cual representa mi variable de aceleración en esta fórmula. Sin embargo, existe la posibilidad de que no haya ninguna aceleración actuando sobre el objeto, y sólo un factor de resistencia. Así que cuando sustituiría 0 parece que la ecuación no funcionaría.

Así que existe la posibilidad de que esta fórmula tenga valores 0 para la aceleración de la resistencia. Lo más probable es que la velocidad inicial tenga un valor.

Para contextualizar: Estoy trabajando con un juego que simplemente tiene resistencia al aire. Y sólo estoy tratando de calcular la distancia como parte del bucle del juego con un factor de tiempo entre cada iteración del bucle.


Editar:

Para añadir un poco más de contexto en torno a lo que bajé. Lo que encontré fue que cuando el bucle de juego para el servidor y el bucle de juego para el cliente se ejecutaba a diferentes velocidades, entonces daría el objeto una velocidad diferente y la ubicación después de x tiempo porque la resistencia se estaba aplicando el doble de rápido que el cliente. o viceversa. Así que no había una resistencia real aplicada durante un tiempo T per se. Y parecía estar ocurriendo en un intervalo. Así que estaba tratando de determinar la distancia en que se mueve algo, basándose en el tiempo y no en cada intervalo, de manera que no importa las velocidades de cada intervalo, están en sincronía con la ubicación.

He echado un vistazo a un par de estos:

Calcular la distancia de caída libre de un objeto con resistencia al aire

Distancia recorrida en caída libre

Pero no pude resolver cómo integrar, por ejemplo, cuando no hay aceleración y sólo un factor de resistencia (si te imaginaras viajando en el espacio con una resistencia del aire en una dirección, (así que no hay gravedad)).

1voto

SUM GUY Puntos 154

Así que para este tipo de problemas, no soy programador ni mucho menos, pero la forma más fácil de proceder parece ser utilizar la segunda ley de Newton, F=ma con F=Force , m=mass, y a=acceleration . Al hacer esto, estoy asumiendo que la masa de cualquier cosa que consideres que está sujeta a la resistencia del aire tiene una masa constante.

Así que tenemos que considerar las fuerzas que actúan sobre nuestro objeto. Tenemos la gravedad, que es mgk con k el vector unitario en la dirección vertical. Y también tenemos la resistencia del aire, que suele estar bien modelada por una fuerza de la forma

[αv+βv2]v^, con α y β constantes, que puedes establecer para cambiar el funcionamiento de tu juego, v la magnitud del vector velocidad, y v^ el vector de velocidad unitario. Este debería ser un buen modelo, a menos que necesites que la resistencia del aire dependa de la orientación del objeto, en cuyo caso las cosas se complican mucho más, pero aun así puedo intentar ayudar.

Esto nos da F=ma=mgk[αv+βv2]v^=mdvdt Así que redefiniendo nuestras constantes, tenemos, para la aceleración dvdt=gk[αv+βv2]v^ En primer orden para un paso de tiempo pequeño Δt obtenemos un cambio en la velocidad Δv dado por Δv=(gk[αv+βv2]v^)Δt .

Entonces, si v es su antigua velocidad, entonces después de un paso de tiempo, la nueva velocidad es v+Δv . Y así la distancia recorrida en el siguiente paso de tiempo debe ser Δx=[v+Δv]Δt .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X