El algoritmo de Painter es el algoritmo introducido por Hewells en 1972 .
Las técnicas utilizadas por estos algoritmos son el espacio de imágenes y el espacio de objetos .
El nombre de este algoritmo es Painter porque funciona como un pintor que crea una pintura al óleo . Al igual que un artista pinta, comienza su pintura con un lienzo vacío, lo primero que hará el artista es crear una capa de fondo para la pintura, después de esta capa, comenzará a crear otras capas de objetos uno por uno . De esta manera completa su pintura, cubriendo parcial o totalmente la capa anterior según el requerimiento de la pintura.
Este algoritmo se usa básicamente para pintar los polígonos en el plano de vista considerando su distancia desde el espectador. Los polígonos que están a más distancia del espectador se pintan primero. Después de eso, los polígonos más cercanos se comienzan a pintar sobre o sobre los polígonos más distantes según el requisito.
En este algoritmo, los polígonos o superficies en la escena se escanean primero o luego se pintan en el búfer de fotogramas en la distancia decreciente desde el punto de vista del espectador, comenzando con los polígonos de profundidad máxima o podemos decir el valor z mínimo.
En primer lugar se realiza el ordenamiento por profundidad en el que los polígonos se enumeran según su orden de visibilidad o prioridad de profundidad.
Como este algoritmo utiliza el concepto de prioridad de profundidad, también se denomina algoritmo de prioridad de profundidad o algoritmo de prioridad .
El búfer de cuadro se pinta con el color de fondo. Después de eso, el polígono que está más alejado ingresa al búfer de cuadro. Para esto, la información del píxel se cambiará, es decir, la información del fondo que tiene el polígono más lejano se reemplazará con la del fondo. Esto se cambiará repetidamente a medida que nos movemos de un polígono a otro y terminamos con el polígono más cercano.
Por lo general , las comparaciones se realizan cuando los polígonos se superponen entre sí. El método más común utilizado para la comparación se denomina método mini-max . Para este propósito, los rectángulos se dibujan alrededor de los polígonos de manera que los rectángulos se ajusten exactamente a los polígonos.
Luego, los rectángulos van a verificar si se superponen entre sí o no. Si se observa que los rectángulos no se superponen, entonces consideramos que las superficies tampoco se superponen. Si los rectángulos se superponen, las superficies también se superponen, como se muestra en la siguiente figura:
Para averiguar qué rectángulo se va a superponer, necesitamos encontrar los valores mínimo y máximo de x e y para los rectángulos que se van a probar para la superposición. Si el valor mínimo de y de uno de los rectángulos es mayor que el valor máximo de y del otro rectángulo, entonces no se superpondrán y, como los rectángulos no se superponen, las superficies tampoco se superpondrán.
Se realizará la misma prueba para las coordenadas x.
Si las superficies se superponen, no sabemos qué superficie debe estar presente encima de la otra. Para averiguar qué superficie debe estar presente en la parte superior, se utiliza el principio de mini-max en los valores de profundidad de ambas superficies superpuestas.
Ejemplo:
Algoritmo para el método de Painter
Los siguientes son los pasos de este algoritmo:
- Clasificación de las diversas superficies que se basa en su profundidad decreciente o podemos decir el valor más grande de z.
- Ahora escanee para convertir las diversas superficies que están en orden comenzando con la superficie que tiene la mayor profundidad.
- La comparación se debe realizar sobre la base de varias superficies superpuestas para que el usuario determine qué superficie se mantendrá visible.
- En el búfer de actualización, ingrese el valor de intensidad para la superficie determinada, es decir, la superficie que se determina que es visible.
- El proceso anterior se repetirá para todas las superficies disponibles.
- Sin embargo, si se observa la superposición, entonces es necesario realizar más pruebas. Se requieren las siguientes pruebas:
Publicación traducida automáticamente
Artículo escrito por itskawal2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA