Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Anderson en 01 de Febrero de 2007, 01:28:57 PM

Título: Planos de un AABB. ¿Posible errata de libro?.
Publicado por: Anderson en 01 de Febrero de 2007, 01:28:57 PM
Saludos a todos. Estoy viendo la explicación de un algoritmo para determinar si un determinado punto P se encuentra en el espacio interior de un Bounging Box Alineado con los Ejes de Coordenadas (AABB). La explicación aparece en el capítulo 22 (página 685) del libro "Core Techniques And Algorithms In Game Programming" de Daniel Sánchez-Crespo.

Según parece, las ecuaciones de los 6 planos que definirían un AABB serían:

x - xmax = 0 --> x = max
x + xmin = 0 --> x = -xmin
y - ymax = 0 --> y = ymax
y + ymin = 0 --> y = -ymin
z - zmax = 0 --> z = zmax
z + zmin = 0 --> z = -zmin

siendo xmax, xmin, ymax, ymin, zmax y zmin números tales que:

xmax > xmin
ymax > ymin
zmax > zmin


Pero en mi opinión, creo que los planos deberían ser:

x - xmax = 0 --> x = xmax
x - xmin = 0  --> x = xmin
y - ymax = 0 --> y = ymax
y - ymin = 0  --> y = ymin
z - zmax = 0 --> z  = zmax
z - zmin = 0  --> z  = zmin


¿Podría alguien confirmarme si esto es así?. Gracias.  8)
Título: Planos de un AABB. ¿Posible errata de libro?.
Publicado por: marc_opolo en 01 de Febrero de 2007, 01:47:19 PM
Me da la impresion de que son AABB en coordenadas locales (del modelo), por eso xmin, ymin y zmin seran posiblemente negativas, de ahi que

x + xmin = 0 --> x = -xmin  (por ejemplo)

cualquier x que cumpla xmin < x < xmax, estara dentro del AABB


Saludos!
Título: Planos de un AABB. ¿Posible errata de libro?.
Publicado por: Anderson en 28 de Febrero de 2007, 06:57:46 PM
Cita de: "marc_opolo"Me da la impresion de que son AABB en coordenadas locales (del modelo), por eso xmin, ymin y zmin seran posiblemente negativas, de ahi que

x + xmin = 0 --> x = -xmin  (por ejemplo)

cualquier x que cumpla xmin < x < xmax, estara dentro del AABB


Saludos!

Hola, perdona por haber tardado en contestar.  :wink:

Debe ser lo que tú dices, que así se expresaría en coordenadas locales respecto del modelo. En cualquier caso, yo deseaba expresarlas en coordenadas absolutas respecto al mundo, por lo que he he utilizado las fórmulas de la forma en que yo creía y... ¡vaya, ha funcionado!.  :lol:

Gracias.
Título: Planos de un AABB. ¿Posible errata de libro?.
Publicado por: tamat en 01 de Marzo de 2007, 12:13:25 PM
Yo diria que es mejor guardarlo en coordenadas locales del modelo y multiplicarlo por su matriz de transformacion cuando necesites hacer cosas como calcular colisiones, lo digo porque guardar la AABB en coordenadas de mundo implica recalcularla cada vez que un objeto se mueve y eso es mas costoso que no transformar la AABB local.