El Sr. John Warnock propuso un algoritmo de subdivisión de áreas, por eso también conocido como algoritmo de Warnock . Este algoritmo utiliza ampliamente el concepto de coherencia de área para calcular la superficie visible en la escena, que está más cerca del plano de visualización. La coherencia de área evita el cálculo de la detección de visibilidad de la superficie común, que ya se calculó en el paso anterior. así que no hay necesidad de volver a calcularlo. Eso es todo lo que hace la coherencia de área.
El algoritmo de subdivisión del área se basa en el método divide y vencerás en el que el área visible (de visualización) se divide sucesivamente en rectángulos cada vez más pequeños hasta que se detecta el área simplificada. Considere dado con el panel de la ventana, donde se proyectará el polígono, es el siguiente:
Cuando subdividimos el panel de la ventana contra el polígono, podemos encontrarnos con los siguientes casos, que son los siguientes:
1. Superficie envolvente: Es el caso en el que la superficie del polígono de visión rodea completamente todo el panel de la ventana.
2. Superficie superpuesta (intersección): es el caso en el que el panel de la ventana (vista) y la superficie del polígono de visualización se cruzan entre sí.
3. Superficie interior (contenida): En este caso, en la que toda la superficie del polígono está inscrita en el interior del panel de la ventana. Este caso es justo lo opuesto al primer caso (superficie circundante).
4. Superficie exterior (disjunta) : en este caso, toda la superficie del polígono está completamente fuera del panel de la ventana.
Algoritmo:
- Inicialice el área de visualización o la dimensión del panel de la ventana.
- Incluya todos los polígonos y ordénelos según Z min (valor de profundidad) con respecto al panel de la ventana (puerto de vista).
- Categoriza todos los polígonos según los casos correspondientes en los que se encuentran.
- Ahora, realice la prueba de detección de superficie visible (eliminación de superficie oculta):
- Si tenemos un polígono que ha rodeado completamente el panel de la ventana, establezca el color del área de visualización en el color del polígono correspondiente que se almacena en el búfer de fotogramas.
- Si los polígonos enumerados están separados o completamente fuera del panel de la ventana, en este caso, se cambiará el color de fondo del plano de la ventana y se ignorarán los polígonos.
- Si los polígonos están contenidos (inscritos) completamente dentro del panel de la ventana, colorea el polígono de su color correspondiente y colorea el resto de la superficie con el color de fondo.
- Si los polígonos y las superficies del panel de la ventana se cruzan (se superponen), entonces se deben considerar los siguientes casos:
- Rellene la región superpuesta con el color de polígono correspondiente que se establece en el búfer de fotogramas.
- Si nos dan más de un polígono, con superficies superpuestas con respecto al plano de la ventana, entonces, en este caso, primero encontramos el búfer de profundidad (Z min ) para encontrar la superficie del polígono que está más cerca de la ventana. panel y llenará la región superpuesta con el color de ese polígono que tiene mínimo (Z min ).
- Repita todos los pasos anteriores para todos los polígonos dados, luego salga.
Publicación traducida automáticamente
Artículo escrito por madhav_mohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA