Loading

Alison's New App is now available on iOS and Android! Download Now

Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Hola y bienvenidos a la conferencia número 24 en el curso Gráficos Informáticos. Estamos en el proceso de aprendizaje sobre el gasoducto 3D, que tiene cinco etapas.
¿Cuáles son esas etapas, vamos a recapitular. Representación de objetos, transformación de modelado, iluminación, interconexión de visualización y conversión de exploración. Así que actualmente estamos en esta cuarta etapa de discusión que es el gasoducto de visión.
Allí cubrimos tres transformaciones que son subetapas de la cuarta etapa a saber, la transformación de vista, la transformación de proyección, la transformación de viewport.
Luego hay dos operaciones más. Estas son también subetapas de esta cuarta etapa, el recorte y la eliminación de la superficie oculta.
Entre ellos, ya hemos discutido el recorte y comenzamos nuestra discusión sobre HSR o la eliminación de la superficie oculta. Así que continuaremos nuestra discusión sobre HSR y concluiremos esa discusión hoy.
Así que en la última conferencia, hablamos de dos métodos ocultos de eliminación de la superficie, a saber, la eliminación de la cara y el algoritmo de almacenamiento intermedio de profundidad. Hoy vamos a hablar de unos cuantos métodos de eliminación de superficies más ocultos. Iniciaremos nuestra discusión con otro método que se llama algoritmo de clasificación de profundidad.
Ahora, este algoritmo de clasificación de profundidad también se conoce como el algoritmo del pintor, otro nombre popular y funciona tanto en la imagen como en el espacio de objetos. Por lo que funciona tanto a nivel de píxel como a nivel de superficie. ¿Y por qué se llama algoritmo del pintor? Porque trata de simular la forma en que el pintor dibuja una escena.
Ahora este algoritmo consta de dos pasos básicos.
¿Cuál es el primer paso? En el primer paso, clasifica las superficies basándose en su profundidad con respecto a la posición de la vista. Para ello, tenemos que determinar la profundidad máxima y máxima de cada superficie. Eso significa la profundidad máxima y mínima de cada superficie y luego creamos una lista de superficie ordenada en base a la profundidad máxima.
Así que podemos denotar esta lista en términos de notación si, y podemos organizarlos en orden ascendente de profundidad. Así que en esta notación, la profundidad de si es menor que la profundidad de si + 1 que es la primera etapa del algoritmo.
En la siguiente etapa, rendimos la superficie en la pantalla uno a la vez, comenzando por la superficie que tiene la profundidad máxima que es la superficie de la nésima en la lista a la superficie con la menor profundidad o la profundidad más baja.
Ahora, durante la representación, durante la segunda etapa, realizamos algunas comparaciones. Así que cuando estamos haciendo una superficie si, lo comparamos con todas las demás superficies de la lista S para comprobar si hay solapamiento de profundidad. Esto significa que la profundidad mínima de una superficie es mayor que la profundidad máxima de otra superficie, ya que la situación se ilustra aquí. Debido a que estas dos superficies aquí, no hay una superposición de profundidad porque el mínimo es mayor que máximo. Sin embargo, aquí el mínimo no es mayor que el máximo, por lo que hay una superposición de profundidad.
Si no hay solapamiento, vuelva a representar la superficie y elimínela de la lista S.
En caso de que haya solapamiento, realizamos más controles. La primera comprobación es que los rectángulos de las dos superficies no se superponen, lo comprobamos. Entonces comprobamos si la superficie si está completamente detrás de la superficie que se solapa en relación con la posición de visión. Esa es la segunda comprobación, esta es la primera comprobación. En la tercera comprobación, la superposición de la superficie por completo delante de si en relación con la posición de visión que es la tercera comprobación.
Y finalmente, las proyecciones de borde límite de las dos superficies en el plano de vista no se superponen, esta es la cuarta comprobación. Así que hay series de controles que realizamos en caso de que haya una superposición de profundidad.
Intentemos entender estos controles. La primera comprobación es rectángulos delimitadores; no se solapen. Ahora bien, ¿cómo lo comprobamos? Por lo tanto, los rectángulos no se superponen si no hay solapamiento en las extensiones de coordenadas x e y de las dos superficies.
Considere la situación aquí. Esta es una superficie, esta es otra superficie. Así que aquí, Xmin es menor que Xmax, por lo que hay solapamiento. Si no hay solapamiento, entonces Xmin sería mayor que Xmax de la otra superficie. Por lo tanto, si cualquiera de estas coordenadas se solapan, la condición falla, lo que significa que los rectángulos delimitadores se solapan Así que comprobamos las extensiones de coordenadas X e Y y luego decidimos si los rectángulos delimitadores se superponen o no.
La siguiente comprobación es la superficie si completamente detrás de la superficie superpuesta en relación con la posición de visualización. Ahora, ¿cómo lo determinamos? Determinamos la ecuación del plano de la superficie superpuesta donde el punto normal hacia el espectador.
A continuación, comprobamos todos los vértices de si con la ecuación de plano de esa superficie superpuesta. Si para todos los vértices de si la ecuación de plano de la superficie de solapamiento devuelve un valor menor que 0, entonces si está detrás de la superficie que se solapa, de lo contrario, no está detrás y esta condición falla. La situación se representa en este diagrama.
La tercera condición que comprobamos es si la superficie superpuesta está completamente delante de la superficie de interés si, de nuevo en relación con la posición de visualización. Ahora, esto podemos comprobar de forma similar con las ecuaciones de avión que hemos hecho antes.
Ahora, esta vez utilizamos la ecuación de plano de si en lugar de esta superficie superpuesta y utilizamos los vértices de la superficie superpuesta. Así que usamos esos vértices en la ecuación del plano y para todos los vértices, si la ecuación devuelve el valor positivo entonces es completamente en frente, de lo contrario, la condición falla. La situación se muestra en esta figura.
Y finalmente, las proyecciones de borde límite de las dos superficies en el plano de vista no se superponen, esta es la comprobación final. Ahora, con el fin de comprobar para esto necesitamos un conjunto de píxeles proyectados para cada superficie y luego comprobar si hay algún pixels común en los dos conjuntos. La idea se ilustra aquí. Si hay píxeles comunes en los dos conjuntos entonces definitivamente, hay un solapamiento, de lo contrario, no hay solapamiento.
Ahora, como puede ver aquí, este algoritmo incorpora elementos tanto de espacio de objetos como de métodos de espacio de imagen. La primera y la última comprobación se realizaron a nivel de pixel de modo que el espacio de imagen, mientras que los otros dos, segundo y tercero, se han realizado a nivel de objeto. Por lo tanto, el elemento del método de espacio de objeto está presente.
Ahora, cuando realizamos las pruebas, realizamos las pruebas siguiendo este orden ascendente mantenido en s y también, el orden de los cheques que hemos mencionado. Ahora, tan pronto como cualquiera de las comprobaciones es verdadera, nos movemos a la comprobación de solapamiento con la siguiente superficie de la lista.
Así que, esencialmente, ¿qué estamos haciendo? Inicialmente, estamos comprobando que Z se solapa para una superficie, con todas las demás superficies, si tiene éxito entonces simplemente rendimos la superficie, de lo contrario, realizamos las comprobaciones en ese orden en particular, y durante las comprobaciones si alguna comprobación es verdadera entonces nos movemos al siguiente paso en lugar de continuar con las otras comprobaciones.
Ahora si todo el test falla, ¿qué pasa en ese caso? Intercambiamos el orden de las superficies en la lista. Esto se llama reordenamiento y luego paramos. A continuación, volvemos a reiniciar todo el proceso desde el principio. Así que si todos los cheques fallan, entonces tenemos que reordenar la lista de la superficie y entonces empezamos desde el principio.
Ahora, a veces hay cuestiones. A veces podemos obtener superficies que se cruzan entre sí. Por ejemplo, vea esta superficie. Esta es una superficie, esta es otra superficie, y se cruzan entre sí. Así que en este ejemplo, una parte de la superficie 1 es a una profundidad que es más grande que la superficie 2, mientras que la otra parte está en una profundidad que es menor que la superficie 2, como se puede ver en esta figura.
Ahora, en tales situaciones podemos enfrentar el problema, inicialmente podemos mantener la superficie 1 y la superficie 2 de una manera particular que es la superficie 1 después de la superficie 2 en la lista ordenada.
Sin embargo, si realizas el algoritmo verás que para estas superficies, todas las condiciones fallarán por lo que tenemos que reordenar. Pero eso no va a resolver nuestro propósito. Incluso si reordenamos, las condiciones volverán a fallar y tenemos que volver a reordenar.
Así que inicialmente, tenemos S1 seguido de S2, a continuación tendremos S2 seguido de S1. Entonces tendremos que reordenar de nuevo S1 seguido de S2 y esto seguirá, y podemos terminar en un bucle indefinido porque las superficies se cruzan y la distancia relativa entre los dos son difíciles de determinar.
Para evitar estas situaciones lo que podemos hacer es utilizar una bandera extra, una bandera booleana para cada superficie. Si se reordena una superficie, el distintivo correspondiente se establecerá en ON, lo que indica que la superficie ya se ha reordenado una vez.
Ahora, si la superficie necesita ser reordenada de nuevo la próxima vez, haremos lo siguiente. Dividimos la superficie a lo largo de la línea de intersección y luego añadimos dos nuevas superficies en la lista ordenada en las posiciones apropiadas. Así que cuando la superficie necesita reordenarse de nuevo, sabemos que hay intersección. Entonces dividimos la superficie a lo largo de las líneas de intersección y luego agregamos dos nuevas superficies en lugar de una en la lista en una orden ordenada.
Por supuesto, estos dos pasos son muy fáciles de hacer y requiere un montón de cálculos, sin embargo, no vamos a entrar en los detalles que sólo le damos alguna idea en lugar de los detalles de cómo hacer eso. Así que esa es la idea básica del algoritmo del pintor.
Discutiremos un algoritmo más el algoritmo de Warnock.
Esto es en realidad parte de un grupo de métodos para la eliminación de la superficie oculta, que se conocen colectivamente como métodos de subdivisión de área y trabajan en la misma idea general. ¿Y qué es esa idea?
Así que primero consideramos un área de la imagen proyectada.
Entonces si podemos determinar qué superficies poligonales son visibles en la zona, entonces asignamos esos colores de la superficie a la zona. Por supuesto, si podemos determinar entonces nuestro problema se resuelve. De modo que la determinación es la cuestión clave aquí.
Ahora, si no podemos determinar, subdividimos de forma recursiva el área en regiones más pequeñas y aplicamos la misma lógica de decisión en las subregiones. Así que es un proceso recursivo.
El algoritmo de Warnock es uno de los primeros métodos de subdivisión desarrollados.
En este algoritmo, subdividimos un área de pantalla en cuatro cuadrados iguales. Como se puede ver esta es la región que dividimos en cuatro cuadrados iguales P1, P2, P3 y P4 entonces realizamos recursión.
Comprobamos la visibilidad en cada cuadrado para determinar los colores de píxel en la región cuadrada. Así que procesamos cada cuadrado a la vez.
Y en esta tramitación, hay tres casos por comprobar. El caso 1, es la región cuadrada actual que se está comprobando no contiene ninguna superficie. En ese caso, no subdividimos más la región porque no tiene ninguna superficie por lo que no tiene sentido revisar más y simplemente asignamos color de fondo a los píxeles contenidos en esta subregión.
En el caso 2, la superficie más cercana se superpone por completo a la región considerada. Eso significa que está completamente solapado por la superficie que está más cerca del espectador. En este caso también, no subdivide aún más la plaza, en cambio simplemente asignamos el color de la superficie a la región porque está completamente cubierta por la superficie. Por lo tanto, tenga en cuenta que aquí tenemos que determinar la superficie más cercana y luego determinar la extensión de esta superficie después de la proyección para que podamos comprobar si cubre completamente esa subregión.
Y hay caso 3, donde no se sostiene ninguno de los casos 1 y 2. En este caso, realizamos la recurrencia. Dividimos de forma recursiva la región en cuatro subregiones y luego repetimos los controles. La recurrencia se detiene si se cumple cualquiera de los casos o si el tamaño de la región pasa a ser igual al tamaño de píxel. Por ejemplo, aquí, como puede ver, subdividimos en cuatro subregiones más P31, 32, 33 y 34. Luego 31 realizamos otra recurrencia, otra vez dividida en subregiones, cuatro subregiones.
Y continuamos hasta que cualquiera de las condiciones 1 o 2 se cumple o el tamaño de la subregión se vuelve igual a tamaño de píxel que es el tamaño más pequeño posible. Así que esta es la idea del algoritmo, donde suponemos que estamos teniendo imagen proyectada y luego, la dividimos en cuatro subregiones a la vez y realizamos pasos recursivos.
Así que con eso, hemos llegado a la conclusión de nuestra discusión sobre la eliminación de la superficie oculta.
Ahora, antes de concluir, hay pocas cosas que hacer notar aquí. La eliminación oculta de la superficie es una operación importante en la cuarta etapa, pero implica un montón de operaciones complejas y explotamos los principios de coherencia para reducir tales complejidades. Estas son las cosas que debemos recordar.
También, debemos recordar que hay muchos métodos para la eliminación de la superficie oculta y en general, son de dos tipos, el método del espacio del objeto y el método del espacio de la imagen.
Entre estos métodos, cubrimos cuatro de estos métodos que es la eliminación de la cara posterior, que es un método del espacio del objeto; el algoritmo Z-buffer, un método del espacio de la imagen; el algoritmo del pintor, una mezcla de la imagen y el método basado en el objeto; y el algoritmo de Warnock, que es el método del espacio de la imagen. Hay otros enfoques por supuesto.
Un enfoque popular, que es un método de espacio de objetos es un método de Octree, que no vamos a discutir en detalles, usted puede referirse al material de aprendizaje. Así que cubrimos la cuarta etapa y todas sus subetapas, a saber, las tres transformaciones de la transformación de vista, la transformación de la proyección, la transformación del viewport, y también las dos operaciones, es decir, el recorte y la eliminación de la superficie oculta.
Lo que hemos discutido hasta ahora se puede encontrar en este libro. Puede consultar el capítulo 8, secciones 8.6 y 8.7. Además, si está interesado en obtener más información sobre otro método de espacio de objetos que es el método de Octree, también puede comprobar la sección 8.8.
Así que eso es todo para hoy. En la siguiente conferencia, comenzaremos nuestra discusión sobre la siguiente etapa de la interconexión que es la conversión de escaneo. Hasta entonces, gracias y adiós.