Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe de Simulación de Colisión de Partículas en Unity
Informe de Simulación de Colisión de Partículas en Unity
Introducción:
El objetivo de esta simulación es modelar el comportamiento de dos partículas esféricas que están
unidas por un resorte y se encuentran dentro de una esfera contenedora en Unity. Las partículas
tienen masas constantes 𝑚1 𝑦 𝑚2 , respectivamente, y están sujetas a fuerzas de resorte y colisión
con la esfera. Este informe proporciona una explicación detallada de la fuerza experimentada por las
partículas debido al resorte, tanto matemática como físicamente, y presenta la implementación
computacional en Unity.
La fuerza ejercida por el resorte sobre cada partícula se rige por la ley de Hooke y se calcula mediante
la siguiente fórmula:
Donde:
• 𝐹 es la fuerza aplicada.
• 𝑘 es la constante del resorte.
• ∆𝑥 es la deformación o elongación del resorte desde su longitud de equilibrio.
La elongación del resorte se calcula restando la longitud actual del resorte a su longitud inicial. La
dirección de la fuerza del resorte se determina utilizando el vector que une las posiciones de las
partículas, normalizado para mantener su dirección.
Implementación en Unity:
El código en Unity utiliza un enfoque de integración numérica para resolver las ecuaciones de
movimiento de las partículas. A continuación, se destacan las principales partes de la
implementación:
Inicialización:
Las posiciones y velocidades iniciales de las partículas se asignan aleatoriamente dentro de la esfera
contenedora.
Se definen los parámetros de simulación, como la masa, las constantes del resorte y la
amortiguación.
Maria Paula Osorio Santamaria – 1202448
Cálculo de Fuerzas:
Se calculan las fuerzas que actúan sobre las partículas, incluida la gravedad, la fuerza del resorte y la
fuerza de amortiguación.
La fuerza del resorte se calcula para cada partícula en función de la elongación y la dirección del
resorte.
Resolución de Ecuaciones:
Se integran las ecuaciones de movimiento utilizando el método de Euler, actualizando las posiciones
y velocidades de las partículas en cada iteración.
Se detecta y maneja la colisión de las partículas con la esfera contenedora, reflejando sus
velocidades y reposicionándolas dentro de la esfera si es necesario.
using UnityEngine;
void Inicializar()
df = new float[N, 6]; // Derivadas del estado de las partículas (velocidades y aceleraciones)
}
Maria Paula Osorio Santamaria – 1202448
ActualizarVista();
void CalcularVariables()
posicion[n] = new Vector3(f[n, 0], f[n, 1], f[n, 2]); // Posición de la partícula n
velocidad[n] = new Vector3(f[n, 3], f[n, 4], f[n, 5]); // Velocidad de la partícula n
if (n == 0)
else if (n == 1)
}
Maria Paula Osorio Santamaria – 1202448
// Asignar las fuerzas calculadas a las derivadas del estado de las partículas en 'df'
df[n, i] = velocidad[n][i];
void ResolverEcuaciones()
tiempo += h;
}
Maria Paula Osorio Santamaria – 1202448
void ActualizarVista()
void Start()
// Inicializar el arreglo 'misEsferas' para almacenar las referencias a los objetos visuales en Unity
// Buscar y asignar las referencias a los objetos visuales en Unity con nombres 'Sphere1' y
'Sphere2'
Inicializar();
void Update()
Maria Paula Osorio Santamaria – 1202448
CalcularVariables();
ResolverEcuaciones();
ActualizarVista();
Conclusiones:
La simulación proporciona una representación visual del comportamiento de las partículas bajo la
influencia del resorte y la colisión con la esfera. La implementación en Unity permite experimentar
con diferentes configuraciones y parámetros para observar cómo afectan al movimiento de las
partículas. Esta simulación sirve como una herramienta útil para comprender conceptos físicos como
la fuerza del resorte y la dinámica de colisión en un entorno virtual interactivo.