¿Cómo funciona el desarrollo de un motor de física?

Supongo que está tratando de desarrollar un motor de simulación física.
Primero tienes que elegir el nivel de simulación.
Solo hablaré sobre la simulación a macroescala y omitiré la simulación atómica y subatómica.
Para simular a escala macro, puede usar varias ecuaciones de la física clásica para la gravedad, la electricidad, etc.
Creo que simularlos por separado es un método mucho más fácil. Por ejemplo, simule solo un sistema mecánico o un sistema electromagnético. Una vez que diseñe las simulaciones por separado, puede intentar combinarlas en una sola.

Un problema común será la precisión de coma flotante. Me enfrenté a este problema cuando estaba simulando el movimiento planetario. Los planetas solían llegar más lejos o más cerca después de orbitar durante mucho tiempo. Depuré y encontré que la razón es que las precisiones perdidas en los valores de las variables de punto flotante aumentaron a largo plazo y dieron lugar a errores. En tal caso, se deben utilizar algunas técnicas para almacenar números reales con una precisión muy alta.

Algunas sugerencias generales:
Utilice siempre un lenguaje orientado a objetos para diseñar dicho sistema.
Dado que es posible que necesite implementar sistemas individuales como mecánicos, electromagnéticos y luego combinarlos, pase mucho tiempo pensando en el mejor diseño posible
Fortalezca su conocimiento en las siguientes áreas además del conocimiento en física: geometría de coordenadas / gráficos, sistema de gráficos opengl o similar, tipos de datos y cálculo de precisión
Aprenda multitarea / subprocesos ya que muchos objetos deben manejarse simultáneamente

Nunca pensé en intentar hacer esto, pero creo que, para lo que vale, es que necesitarías programar formas de calcular los resultados de una “interacción” (por ejemplo: una función que toma un objeto y una fuerza y genera los cambios en el objeto que causó la fuerza). Puede lograr esto simplemente codificando las leyes de la física (principalmente solo movimiento) y luego ejecutándolas con la fuerza y ​​el objeto (que puede ser una matriz / matriz, si está interesado en simular partículas y tales) entradas, y devolviendo el movimiento resultante del objeto.

More Interesting

¿Hay ejemplos de mecánica cuántica que se puedan ver en la vida cotidiana?

¿Cuántos estados pueden tener los bits cuánticos y cuáles son?

¿Por qué los estados puros están representados por los puntos en la superficie de una esfera Bloch mientras que los puntos interiores en la esfera representan estados mixtos?

¿Qué tan rápido podría una computadora cuántica piratear / fuerza bruta a través de los mejores sistemas de encriptación de hoy?

¿Cuál es el hecho más destacado de la física cuántica?

¿Es posible que haya mecánica subcuántica, con propiedades incluso diferentes a las normales o cuánticas?

¿Qué hace que la comunicación cuántica sea rápida?

¿Cómo afectarán las computadoras cuánticas a Bitcoins en el futuro?

La investigación publicada en Nature predice que el logro de la computación cuántica efectiva para 2025 comprometerá los datos registrados antes de ese momento. ¿Cuáles son las implicaciones para las empresas y los gobiernos?

¿Jack Fraser resolvió el problema de la mecánica cuántica de David Griffith?

¿Por qué la medición cuántica es claramente un problema?

¿La información de la computadora es física? Si creara un montón de archivos de texto llenos de texto lorem ipsum, ¿mi computadora realmente se volvería más pesada?

¿Dónde puedo encontrar un lugar para aprender sobre la lógica cuántica dirigida al laico?

He realizado Btech en ECE y MTech en láser y electro-óptica. ¿Puedo tomar la mecánica cuántica y la información cuántica como mi área de investigación en Phd?

¿Qué es una computadora cuántica?