Universidad de - Escuela Superior de Informática (UCLM ...

Universidad de - Escuela Superior de Informática (UCLM ... Universidad de - Escuela Superior de Informática (UCLM ...

12.07.2015 Views

Módulo de procesamientoCAPÍTULO 5. ARQUITECTURA DE ATRAVELVértice 6Vértice 2Vértice 762 31Vértice 34Vértice 5Vértice 10Vértice 4Vértice 0FIGURA 5.14: Representación de las caras que componen un bounding box.Una cara viene determinada por una lista de cuatro vértices con un orden específico (verimagen 5.14):Cara0 : [< vertice0 >,< vertice3 >,< vertice7 >,< vertice4 >]Cara1 : [< vertice0 >,< vertice1 >,< vertice5 >,< vertice4 >]Cara2 : [< vertice1 >,< vertice2 >,< vertice6 >,< vertice5 >]Cara3 : [< vertice2 >,< vertice3 >,< vertice7 >,< vertice6 >]Cara4 : [< vertice0 >,< vertice1 >,< vertice2 >,< vertice3 >]Cara5 : [< vertice4 >,< vertice5 >,< vertice6 >,< vertice7 >](5.4)De manera que un bounding box puede ser definido por una lista de seis elementos y enla que cada cara es una lista de cuatro elementos:BB : [[< Cara0 >],[< Cara1 >],[< Cara2 >],[< Cara3 >],[< Cara4 >],[< Cara5 >]](5.5)Donde cada cara está compuesta por una lista de cuatro vértices en un orden específico taly como se muestra en la ecuación 5.4.Por tanto, para obtener los cuatro vértices de cada bounding box clave los cuatro debenformar una cara del bounding box clave de la izquierda y los otros cuatro deben pertenecera otra cara del bounding box clave de la derecha. De manera que al final se puede resumir elproceso como la elección de una cara de cada bounding box para realizar la representacióndel bounding box intermedio.La cuestión principal es conocer cuáles son las caras idóneas pertenecientes a losdos bounding box clave para realizar la representación del bounding box intermedio.130

CAPÍTULO 5. ARQUITECTURA DE ATRAVELMódulo de procesamientoPara resolver este problema se han realizado un algoritmo basado en el mecanismo deintersección de un rectángulo con un segmento (o recta). De forma, que las caras resultantes,para realizar la representación de bounding box intermedio se obtienen de la interseccióndel segmento, que tiene como origen el punto central de uno de los dos bounding boxclave y como punto de destino el punto central del otro bounding box clave, con las carascorrespondientes de los dos bounding box.Algoritmo elección de caras.Una vez que se han obtenido las caras que van a formar el bounding box intermedio,es necesario realizar una ordenación de éstos con el orden especificado en la figura 5.12.De esta forma, se puede realizar posteriormente una representación de forma directa. Elprocedimiento de ordenación de vértices consiste en calcular la distancia de un vérticeperteneciente a un bounding box con el resto de vértices que pertenecen al otro boundingbox. Dada la distancia existente entre pares de vértices pertenecientes a cada bounding boxse realiza la ordenación de éstos para que después tenga lugar una correcta representación.Para ello, se obtienen las cuatro relaciones en los que la distancia es menor con el objetivode que el bounding box represente lo mejor posible el movimiento realizado por el objeto.El procedimiento seguido para la ordenación de vértices que constituyen el boundingbox intermedio es el siguiente:1. Dadas las dos caras iniciales se obtiene cuál de ellas se encuentra a la derecha o a laizquierda con respecto del eje X.2. Se obtienen los vértices que forman la cara que se encuentra a la derecha y secalculan aquellos vértices que tienen el valor de la coordenada Z más bajo. Despuésobtenidos estos dos puntos, se calcula cuál de ellos tiene el valor de la coordenadaY más pequeño, si resulta que los dos contienen el mismo valor en el Y, se pasa aanalizar el valor contenido en X, el vértice que contenga mayor valor en el eje X, esees considerado el vértice 0 del bounding box intermedio resultante. Dados los dosvértices cuyos valores en las coordenadas Y sean diferentes, el vértice 0 será aquelque tenga menor valor Y. En ambos casos, de los vértices seleccionados inicialmentecon un valor en el eje de coordenadas Z menor, y una vez definido el vértice 0, elotro vértice es definido como vértice 4 de la cara analizada. Una vez que se hanseleccionado el vértice 0 y el vértice 4 de la cara, se pasa a calcular cuál de los otrospertenece a los vértices 4 y 7. Para ello, se analiza cuál de estos dos tiene mayorvalor en la coordenada Y, el que tenga menor valor en este eje de coordenadas será131

CAPÍTULO 5. ARQUITECTURA DE ATRAVELMódulo <strong>de</strong> procesamientoPara resolver este problema se han realizado un algoritmo basado en el mecanismo <strong>de</strong>intersección <strong>de</strong> un rectángulo con un segmento (o recta). De forma, que las caras resultantes,para realizar la representación <strong>de</strong> bounding box intermedio se obtienen <strong>de</strong> la intersección<strong>de</strong>l segmento, que tiene como origen el punto central <strong>de</strong> uno <strong>de</strong> los dos bounding boxclave y como punto <strong>de</strong> <strong>de</strong>stino el punto central <strong>de</strong>l otro bounding box clave, con las carascorrespondientes <strong>de</strong> los dos bounding box.Algoritmo elección <strong>de</strong> caras.Una vez que se han obtenido las caras que van a formar el bounding box intermedio,es necesario realizar una or<strong>de</strong>nación <strong>de</strong> éstos con el or<strong>de</strong>n especificado en la figura 5.12.De esta forma, se pue<strong>de</strong> realizar posteriormente una representación <strong>de</strong> forma directa. Elprocedimiento <strong>de</strong> or<strong>de</strong>nación <strong>de</strong> vértices consiste en calcular la distancia <strong>de</strong> un vérticeperteneciente a un bounding box con el resto <strong>de</strong> vértices que pertenecen al otro boundingbox. Dada la distancia existente entre pares <strong>de</strong> vértices pertenecientes a cada bounding boxse realiza la or<strong>de</strong>nación <strong>de</strong> éstos para que <strong>de</strong>spués tenga lugar una correcta representación.Para ello, se obtienen las cuatro relaciones en los que la distancia es menor con el objetivo<strong>de</strong> que el bounding box represente lo mejor posible el movimiento realizado por el objeto.El procedimiento seguido para la or<strong>de</strong>nación <strong>de</strong> vértices que constituyen el boundingbox intermedio es el siguiente:1. Dadas las dos caras iniciales se obtiene cuál <strong>de</strong> ellas se encuentra a la <strong>de</strong>recha o a laizquierda con respecto <strong>de</strong>l eje X.2. Se obtienen los vértices que forman la cara que se encuentra a la <strong>de</strong>recha y secalculan aquellos vértices que tienen el valor <strong>de</strong> la coor<strong>de</strong>nada Z más bajo. Despuésobtenidos estos dos puntos, se calcula cuál <strong>de</strong> ellos tiene el valor <strong>de</strong> la coor<strong>de</strong>nadaY más pequeño, si resulta que los dos contienen el mismo valor en el Y, se pasa aanalizar el valor contenido en X, el vértice que contenga mayor valor en el eje X, esees consi<strong>de</strong>rado el vértice 0 <strong>de</strong>l bounding box intermedio resultante. Dados los dosvértices cuyos valores en las coor<strong>de</strong>nadas Y sean diferentes, el vértice 0 será aquelque tenga menor valor Y. En ambos casos, <strong>de</strong> los vértices seleccionados inicialmentecon un valor en el eje <strong>de</strong> coor<strong>de</strong>nadas Z menor, y una vez <strong>de</strong>finido el vértice 0, elotro vértice es <strong>de</strong>finido como vértice 4 <strong>de</strong> la cara analizada. Una vez que se hanseleccionado el vértice 0 y el vértice 4 <strong>de</strong> la cara, se pasa a calcular cuál <strong>de</strong> los otrospertenece a los vértices 4 y 7. Para ello, se analiza cuál <strong>de</strong> estos dos tiene mayorvalor en la coor<strong>de</strong>nada Y, el que tenga menor valor en este eje <strong>de</strong> coor<strong>de</strong>nadas será131

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!