12.07.2015 Views

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

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

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

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPÍTULO 5. ARQUITECTURA DE ATRAVELMódulo <strong>de</strong> procesamientomanera que para conocer si dos bounding box colisionan basta con calcular si existe alguno<strong>de</strong> los ocho vértices que forman el bounding box está en el interior <strong>de</strong>l bounding box. Elmétodo <strong>de</strong> conocer si un vértice está en el interior <strong>de</strong> un BB es que se encuentra <strong>de</strong>talladoen la sección 3.2.11. Sin embargo, para obtener unos resultados perfectos se han realizadoalgunas modificaciones <strong>de</strong>l algoritmo anterior. Existía un problema a la hora calcular elvector normal a una cara <strong>de</strong>l BB y que la normal <strong>de</strong> una cara con respecto al punto pue<strong>de</strong>que se calcule <strong>de</strong> forma positiva o negativa. Para que los resultados sean óptimos la normal<strong>de</strong> una cara <strong>de</strong>be calcularse hacia fuera <strong>de</strong>l BB (véase figura B.4).Pv i-n i40º140ºn iFIGURA 5.8: Representación <strong>de</strong>l vector normal <strong>de</strong> una cara <strong>de</strong> un BB (ver imagen a color enAnexo B).El principal problema <strong>de</strong> calcular el vector normal hacia fuera <strong>de</strong>l BB es queposteriormente al calcular el coseno <strong>de</strong> ángulo que forman el vector normal con el vectorque une a un vértice <strong>de</strong> la cara con el punto P que es analizado, es totalmente opuesto si seha calculado⃗n o si por el contrario se ha calcular el -⃗n. Si el vector que ha sido calculado esel ⃗n el ángulo que forma con el vector que une un vértice con el punto <strong>de</strong> la cara es mayorque 90 grados y menor que 180 grados cuyo coseno es negativo mientras que si el vectornormal calculado es el -⃗n el ángulo que forma es menor <strong>de</strong> 90 grados y su coseno es positivo,por tanto al calcular el producto escalar el resultado es muy dispar. Por lo que, es necesarioincluir una modificación en el algoritmo para evitar esta confusión y el funcionamiento seael correcto. El resto <strong>de</strong>l algoritmo se mantiene invariable con respecto al algoritmo <strong>de</strong>talladoen la sección 3.2.11. El pseudocódigo <strong>de</strong>l algoritmo es:Otro algoritmo <strong>de</strong>stacable en esta estructura es la función <strong>de</strong> Fusión <strong>de</strong> Bounding box.se trata <strong>de</strong> la principal función existente para llevar a cabo la fusión <strong>de</strong> trayectorias. Ala hora <strong>de</strong> realizar la fusión <strong>de</strong> dos trayectorias, se ha <strong>de</strong> tener en cuenta cómo se pue<strong>de</strong>realizar la fusión <strong>de</strong> dos BB, para posteriormente obtener la lista <strong>de</strong> BB que forman la111

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

Saved successfully!

Ooh no, something went wrong!