Muy bien, solo estoy en Física AP y le pregunté a mi maestro y no pudo ayudarme... Estoy haciendo un motor de física 2D y tengo problemas cuando se trata de la gravedad entre objetos y creo que es porque No estoy teniendo en cuenta la inercia correctamente.
La forma en que lo tengo configurado es que todas las fuerzas en un objeto se suman por su componentes y sus componentes, luego los uso para encontrar la aceleración tanto en el y direcciones. Luego uso las fórmulas cinemáticas y la velocidad original de los objetos (que configuré al principio, sin embargo, este podría ser el problema del que hablaré más adelante) y la diferencia en el tiempo (calculo todo esto y me aseguré de que no sea así). el problema)(La fórmula que usé fue ) . Cuando probé esto por primera vez, me di cuenta de que las fuerzas eran demasiado fuertes y tenían demasiado efecto en el objeto. Me di cuenta de que no estaba teniendo en cuenta la inercia del objeto. Entonces, lo que intenté hacer (y no estoy seguro de si esto es correcto) pero usé la fórmula sin embargo, usé la velocidad en la instancia anterior para y luego conectó el para la ecuación cinemática que utilicé (espero que esto tenga sentido) Sin embargo, no estoy seguro de si esto funcionó correctamente....
¿Hay alguna forma de usar las fórmulas cinemáticas correctamente mientras se tiene en cuenta la velocidad actual de los objetos?
Solo hay soluciones exactas cuando solo se usan dos cuerpos (es decir, órbitas de Kepler ), sin embargo, cuando usa más cuerpos, no habrá una solución general. Estos sistemas de más de dos cuerpos se pueden aproximar numéricamente, como lo intentaste, usando pasos de tiempo discretos. Pero ahora ingresa al campo de la integración numérica para ecuaciones diferenciales ordinarias . El método más simple sería Euler explícito :
Sin embargo, en este caso el método de Euler no será muy preciso. Otros métodos fáciles de implementar para la gravitación son el método Leapfrog o Verlet . Estos también tienen la ventaja de que son simplécticos , lo que ayuda a conservar energía.
Primero, deduzco de su pregunta que está trabajando para hacer una simulación de cuerpos en 2D con fuerzas gravitatorias entre ellos, como la tierra y la luna, o el sol y la tierra, ¿es correcto?
Si este es el caso, entonces tendrá un problema al usar y fórmulas similares porque la aceleración no será constante. y ecuaciones similares asumen que la aceleración es constante, pero a medida que el sol y la tierra se mueven, la aceleración cambiará (al menos en dirección). La forma de hacerlo es usar pequeños pasos de tiempo. y encuentre pequeños cambios en la posición y la velocidad, etc. para pequeños pasos. p.ej y - entonces y . Después de cada pequeño paso, debe volver a calcular el valor de .
Si, en cambio, desea calcular cerca de la superficie de la tierra en 2D, donde una dirección es hacia arriba y la otra es a lo largo de la gravedad hacia abajo, entonces - la aceleración hacia abajo debido a la gravedad es constante y estas ecuaciones son como debería funcionar bien
¿Esto ayuda?
Una simulación no tiene una posición prescrita . Se conocen las fuerzas, y la posición y la velocidad se encuentran considerando un pequeño paso de tiempo y encontrando la aceleracion para actuar en este paso.
Entonces para cada paso
Este es el método más simple (y crudo), pero le dará el comportamiento que desea.
HDE 226868
MagnusCaligo
HDE 226868
HDE 226868
MagnusCaligo
HDE 226868
MagnusCaligo
HDE 226868
rojoarenosoladrillo