Colisiones

Páginas: 6 (1297 palabras) Publicado: 18 de abril de 2015
Colisiones

Que vamos a estudiar
• Introducción
– Intro
– Tiempo.
– Bounding-box






Choque esfera-esfera
Choque caja-caja
Arboles, mapas..
Choque esfera-plano.

Introducción
• Geometría Euclídea.
– Vamos a trabajar como hasta ahora con los mismos sistemas
cartesianos.
– Problema temporal. El tiempo es discreto. Frames/segundo.
• Realizar el calculo con anterioridad.

T=0

T=0
T=1
T=1 Bounding-box
•Para el calculo de las colisiones es necesario determinar si se
intersecan cada una de las caras de un objeto con las de otro.
•Para simplificarlo, en una primera aproximación se recurre a
las esferas, cajas, cilindros, elipsoides que envuelven el objeto.

Bounding-esferas
Una esfera engloba el objeto.
Se caracteriza por centro, radio:
• Centro: punto, float x,y,z
• Radio: float Esfera-Esfera
• Simple La distancia entre sus centro es menor que la suma
de sus radios.
float distaciadospuntos(punto a, punto b) {
return (sqrt((a.x-b.x) * (a.x-b.x) + (a.y-b.y) * (a.y-b.y) + (a.z-b.z) * (a.z-b.z)));
}
int esferaesfera (esfera a, esfera b) {
if (distaciadospuntos(a.centro,b.centro) <= a.radio+b.radio)
{
printf ("tocado\n"); return 1;
}
else return 0;
}

Bounding-box
Una cajaengloba el objeto, se caracteriza por dos puntos
minBounds and maxBounds :
minBounds : punto, float x,y,z;
maxBounds : punto, float x,y,z

Hay dos posibilidades
B
A

Ejes alineados

Ejes no-alineados

Axis Aligned Bounding Boxes (AABB)


El uso de cajas alineadas es el procedimiento más utilizado ya que es fácil,
rápido y barato de calcular. Lo que hacemos es determinar si las esquinas cada
de susocho esquinas está dentro de la caja del otro


AxMin < BxMax and AxMax > BxMin
»

AND

– AyMin < ByMax and AyMax > ByMin
»

AND

– AzMin < BzMax and AzMax > BzMin

B
A

Test Ejes Separados. SAT



Es un método simple aplicable a segmentos, triángulos y cajas no
alineadas
Se basa en:
– Dos objetos A y B son disjuntos si para un vector de proyección v v.A y
v.B son disjuntos.

A

VerificaciónMovimiento objetos

A

A

Calculo de Box
A
–AxMin < BxMax and AxMax > BxMin

AABB

–AyMin < ByMax and AyMax > ByMin
–AzMin < BzMax and AzMax > BzMin

Árboles, particionado del espacio Mapas

• Árboles.

• Particionado del espacio

• Mapas

Método general
Trazado de rayos

Esfera-Plano

• Se trata de un caso más general.
• Se basa en el algoritmo de trazado de rayos (radiosidad).

Definicióndel Problema Esfera-plano
• Esfera caracterizada por su Centro y su radio y un vector
director.
D (x,y,z)
• Un plano caracterizado por su normal y un punto.
• N x p(x,y,z) = d

• El tiempo [0, infinito]

Rayo
• Un rayo se representa por un vector que denota su punto de
comienzo y un vector velocidad que denota como el rayo
viaja. A partir de ahí se calcula la posición de la partícula
en el tiempo.• Pr(x,y,z) = Por (x,y,z) + tiempo x D (x,y,z).

• Un plano es denotado por su normal, un escalar y un
punto de la superficie. Estos parámetros puede ser
obtenidos a partir de los tres puntos del plano.
• N x p(x,y,z) = d

X = producto escalar

Intersección Rayo-Plano.


Si el vector interseca al plano entonces debe existir un punto que satisfaga la
ecuación del plano.




Pr(x,y,z) = Por(x,y,z) + tiempo x D (x,y,z)



N x p(x,y,z) = d




N x (Por(x,y,z) + tiempo * D (x,y,z))= d

De donde
Tiempo = (d –N x Por (x,y,z)) / (N x D)



Si reemplazamos d
Tiempo = (N x p(x,y,z) –N x Por(x,y,z)) / (N x D(x,y,z));
Tiempo = (N x (p(x,y,z) – Por(x,y,z)) / (N x D (x,y,z));

Intersección Rayo-Plano
• Tiempo representa la distancia temporal o espacial entre el
punto y el plano. Existen trescasos.
– T < 0 entonces la dirección del rayo y de la normal iguales
– T = 0 cero son perpendiculares.
– T > 0 representa que si existe choque.

• No es necesario hacer la división sino comparar los signos
de numerador y denominador (aunque se puede hacer).

Contacto esfera-plano
• Calcular punto de choque tanto en la esfera como en el
plano.
Punto de colisión de la
esfera

Normal

Reverse...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Colisiones
  • Colisiones
  • COLISIONES
  • colision
  • Colisiones
  • Colisiones
  • Colisiones
  • Colisiones

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS