2011-05-31 23 views
10

He estado tratando mi mano en la representación de algunos de movimiento/objetos usando androides Opengl rotación. Ahora me gustaría permitirles colisionar y responder de forma realista.detección de colisión y colisión de respuesta

Investigando el problema, puedo encontrar muchos recursos que me aconsejan sobre formas de determinar si dos formas tridimensionales están colisionando en el marco actual (o si colisionarán en el siguiente marco). Sin embargo, tengo problemas para encontrar recursos que describan cómo obtener información sobre la colisión que ha ocurrido.

Por ejemplo, usando formas convexas, me gustaría saber qué vértice colisionó con qué plano primero, en qué momento entre el marco. De esta forma puedo saber cómo debe responder cada forma en su posición y rotación.

Puedo describir el movimiento de cada vértice con un rayo, y el movimiento de los planos también, entre cada cuadro. Sin embargo, estoy un poco perplejo de cómo usaría esto para encontrar sus futuras intersecciones a lo largo del tiempo, y si eso alguna vez sería posible. He leído algunos métodos para reducir la necesidad de cálculos complejos como octtrees y cuadros de acceso.

Soy bastante nuevo en este tema, por lo que cualquier recurso, o consejo sobre cómo se manejan estos problemas generalmente sería apreciado. ¡Gracias por tu tiempo!

Respuesta

4

Para la detección de colisiones, la solución que está buscando se llama detección de colisión continua, y una explicación puede ser found here. La detección de contactos entre dos cuerpos es relativamente sencillo, sobre todo si se ignora velocidades angulares, pero si usted está haciendo una simulación con más de dos objetos que tendrá que resolver TOI a nivel mundial debido a que el orden de las colisiones será la materia y no se puede determinar mediante el examen aislado de colisión pares (no tan simples).

También debe indicar el problema específico que está tratando de resolver, porque encontrar TOI (tiempo de impacto) no es una tarea trivial and approximation could be perfectly valid solution in a certain scenario (por ejemplo, simulación de juego).

El blog I already gave links contiene artículos accesibles sobre el tema y hace referencia a lecturas adicionales si desea ir más allá.

+0

Gracias por los enlaces, y por darme algunos de los términos de lo que estaba tratando de explicar. Este artículo parece perfecto y ayudará con mi investigación.En cuanto al problema que estoy tratando de resolver, realmente solo estoy haciendo esto como un ejercicio de aprendizaje, por lo que la información y muchos escenarios me son útiles. ¡Gracias de nuevo! – groucho

1

deja de reinventar la rueda probar soluciones ya probadas.

bala de la física (Google Search)
oda se muestra en el mensaje por ville krumlinde

* PS: * detección de colisiones es un tema complejo e implica un poco de matemática cabelludo. Incluso cuando estás usando las bibliotecas de otra persona. :)

Cuestiones relacionadas