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 22 en el curso Gráficos Informáticos. Actualmente estamos discutiendo el gasoducto 3D. Y el gasoducto tiene 5 etapas. Ya hemos discutido la representación de objetos que es la primera etapa. Luego modelando transformaciones-segunda etapa. Iluminación o asignación de color-tercera etapa. Actualmente, estamos en la cuarta etapa que está viendo gasoducto. Como puedes ver, consta de 5 subetapas. Ya hemos hablado de algunos de ellos y continuamos nuestra discusión sobre los restantes.
Por lo tanto, entre esas subetapas ya hemos discutido antes. Ver transformación, transformación de proyección y transformación de viewport.
Dos operaciones más están ahí, como hemos visto en la tubería; recorte y eliminación de la superficie oculta. Entre ellos actualmente estamos discutiendo el recorte.
Así que, en la última conferencia, introdujimos la idea básica de recorte y también discutimos el recorte de líneas 2D. Por lo tanto, continuará nuestra discusión sobre el recorte. Hoy, vamos a discutir el recorte del área de relleno, así como el recorte en 3D.
Entonces, ¿qué es este recorte de área de relleno? Así que, como hemos mencionado, cuando hablamos de recorte, hay una ventana de recorte y antes hemos discutido cómo recortar puntos y líneas contra esta ventana. Sin embargo, cuando proyectamos objetos la proyección tal vez en forma de un área de relleno como un polígono donde hay un límite.
Ahora el recorte de un área llena es diferente de voltear un punto o una línea, como veremos en la conferencia de los días. De hecho, tales situaciones son bastante frecuentes en la práctica donde tenemos que pinzar polígonos contra la ventana de recorte. Por lo tanto, requiere algún mecanismo para hacerlo.
Ahora, lo que puede ser un enfoque muy obvio y sencillo, intentemos entender la situación. Supongamos que esta es nuestra ventana de recorte y se nos da un polígono, algo así después de la proyección dicen este triángulo. Así que tenemos que mantener esta parte que está dentro de la ventana de recorte, que estoy mostrando con sombra y tenemos que recortar la parte exterior. ¿Cómo podemos hacer eso?
Una manera puede ser utilizar los clippers de línea que discutimos en una conferencia anterior para cada uno de los bordes, como aquí está un borde, un borde, un borde del área de campo. Y luego realizar recorte en los bordes y decidir sobre la región recortada. Sin embargo, como se puede ver en este ejemplo, eso no es necesariamente fácil, eficiente y nos va a dar un buen enfoque. A veces es incluso difícil entender cómo funciona En cambio, requerimos mejores enfoques. Hay, de hecho, muchos algoritmos eficientes propuestos para el propósito. En esta conferencia vamos a discutir dos de esos enfoques. Uno es el algoritmo Sutherland-Hodgeman y el otro es el algoritmo de Weiler-Atherton. Intentemos entender estos algoritmos.
Empezaremos con el algoritmo Sutherland-Hodgeman, ¿qué hace este algoritmo? Aquí en este algoritmo empezamos con 4 clippers. Ahora, estos clippers son esencialmente las líneas que definen el límite de la ventana. Por ejemplo, si este es mi límite de ventana, cada una de estas líneas que definen el límite es un cortador.
Por lo tanto, hay 4 clippers en el recorte en 2D que es correcto, a la izquierda, por encima y por debajo. Ahora, cada cortador toma como entrada una lista de pares ordenados de vértices que esencialmente indican los bordes, cada par de vértice indican el borde. Y de esa lista de entrada produce otra lista de vértices de salida que es la idea básica. Por lo tanto, hay 4 clippers, cada Clipper toma como entrada una lista de pares ordenados de vértices donde cada par de vértices representan un borde. Y luego realiza algunas operaciones para producir una lista de salida de vértices.
Ahora, cuando realizamos estas operaciones, imponemos algún orden de comprobación contra cada cortador que puede ser cualquier pedido. Aquí en esta discusión asumirá el orden de la izquierda del orden primero, luego la cortadora derecha, luego la cortadora de fondo, y al final la tapa superior o por encima de la cortadora.
Ahora, como dijimos empezamos con el cortador izquierdo. Por lo tanto, su conjunto de entrada es el polígono original vértices o en otras palabras, los bordes de polígono originales representados por el par de vértices que es el conjunto de entrada al primer o el cortador izquierdo.
Ahora, para crear una lista de vértices como salida o también para proporcionar la lista de los vértices de entrada, tenemos que seguir un convenio de denominación, ya sea para nombrar los vértices en el sentido de las agujas del reloj o de manera anticlockwise. Aquí de nuevo, vamos a suponer que vamos a seguir una denominación anticlockwise de vértices. Con estos convenios, vamos a denotar la lista de los vértices de entrada a un cortador por el conjunto V que tiene estos vértices.
Ahora, para cada borde o el par de vértices en la lista denotado por vi, vj. Realizamos algunas comprobaciones y basándonos en los resultados del cheque, tomamos alguna acción. Entonces, ¿cuáles son esos cheques?
Si vi está dentro y vj está fuera de la cortadora, entonces volvemos el punto de intersección de la cortadora con el borde representado por el par vértice vi, vj. Si ambos vértices están dentro de la cortadora, entonces volvemos vj.
Si vi está fuera y vj está dentro de la cortadora, entonces devolvemos dos cosas. Uno es el punto de intersección de la cortadora con el borde representado por el par vi, vj y también vj. Tanto las cosas que devolvemos punto de intersección y vj. Y por último, si ambos vértices están fuera del cortador entonces no devolvemos nada, volvemos nulos.
Ahora aquí hemos usado los términos dentro y fuera. Entonces, ¿cómo se definen? De hecho, estos términos se deben interpretar de forma diferente para diferentes clipper. Por lo tanto, no hay un solo significado para estos términos basados en el clipper que definimos estos términos.
Y ahora vamos a través de esta definición para cada uno de los 4 clientes. Así que, para el cortador izquierdo, cuando se habla de perspicacia nos referimos a que el vértice está en el lado derecho de la cortadora y cuando hablamos de fuera nos referimos a que está en el lado izquierdo de la cortadora. Para la cortadora derecha es justo lo contrario.
Cuando el vértice está en el lado izquierdo, lo llamamos en su interior. De lo contrario, está fuera. Para el clipper superior si un vértice está por debajo de la cortadora que significa que está dentro.
De lo contrario, está fuera. Y para un cortador de fondo, es de nuevo justo lo contrario de la cortadora superior que significa que dentro de vértice significa que está por encima del cortador, mientras que por fuera significa que está por debajo. Y cómo determinamos si un vértice está en el lado derecho o en el lado izquierdo o por encima o por debajo, sólo por considerar los valores de coordenadas, comparando los valores coordinados del vértice con respecto al cortador particular.
Por ejemplo, supongamos que este es el clipper superior, supongamos que es la ecuación es dada por x = y = 4. Ahora supongamos que un punto es denotado por (3, 5). Ahora comprobamos aquí el valor y del punto que es 5, claramente 5 es mayor que 4 que es el valor y del límite, límite superior. Entonces podemos decir que este punto está afuera porque está por encima del cortador. Del mismo modo, podemos determinar el interior y el exterior en base a la comparación del valor de coordenadas x o y del vértice con respecto a los valores de la cortadora.
Si el vértice está en el cortador entonces se considera en el interior en todos los casos. Por lo tanto, para un cortador izquierdo en el interior significa que está en el lado derecho o en el cortador, de lo contrario está fuera. Y lo mismo es cierto para todos los demás clientes.
Ahora, intentemos entender este algoritmo en términos de un ejemplo ilustrativo. Consideremos esta situación aquí hemos definido una ventana de recorte y tenemos un área de relleno. Ahora esta área de relleno está definida por los vértices {1, 2, 3} como se puede ver aquí, seguimos una convención de denominación contra reloj o anticlockwise para listar los vértices.
Nuestro objetivo es determinar el polígono recortado. Es este polígono indicado por los vértices {2 ', 3', 3 '', 1 ' y 2}. Y lo usamos para hacerlo siguiendo el algoritmo Sutherland-Hodgeman.
Por lo tanto, al principio empezamos con el cortador izquierdo. Entonces comprobamos contra el cortador derecho, luego el cortador superior y luego el cortador de fondo.
Veamos lo que pasa después de comprobar contra el cortador izquierdo. Así que aquí la lista de vértices de entrada son los vértices originales que es {1, 2, 3} que indica los tres bordes representados por el par de vértices; {1, 2}; {2, 3} y {3, 1}. Por lo tanto, para cada par realizamos la comprobación. Para el par {1, 2} podemos ver que ambos vértices están en el lado derecho de la cortadora izquierda que significa que ambos están dentro. Por lo tanto, Vout es 2 según el algoritmo.
De forma similar, después de comprobar si hay {2, 3} en el cortador izquierdo, podemos ver que la salida final se convierte en {2, 3} teniendo en cuenta 2. Y después de comprobar {3, 1} la lista final se convierte en {2, 3, 1}. En todos los casos contra el cortador izquierdo todos los vértices están dentro.
Ahora, vamos a chequear contra el cortador derecho. Por lo tanto, ahora la lista de vértices de entrada es {1, 2, 3} misma e inicialmente Vout es NULL. Por lo tanto, el par de vértices tiene que ser comprobado {1, 2; 2, 3} y {3, 1}, todos los tres bordes que tenemos que comprobar. Para 1, 2 ambos están dentro del cortador derecho. Podemos comprobar comparando sus valores de coordinación porque ambos están en el lado izquierdo del cortador derecho. Por lo tanto, Vout es ahora 2. Entonces comprobamos el par {2, 3} aquí podemos ver que 2 está dentro, mientras que 3 está fuera. Por lo tanto, en ese caso calculamos el punto de intersección 2 'este punto y luego establecemos Vout para ser {2, 2'}.
Entonces comprobamos {3, 1} aquí el vértice 3 está fuera porque está en el lado derecho del cortador, mientras que 1 está dentro porque está en el lado izquierdo. Por lo tanto, aquí se calcula el punto de intersección 3 'y luego se finaliza la lista de vértices de salida como {2, 2', 3 ' (y) 1}; porque en este caso también se devuelve 1. Así que, después de comprobar en contra de la cortadora derecha, obtenemos esta lista de salida; {2, 2 ', 3' (que significa este punto y), 1}.
Entonces comprobamos contra el cortador superior. Ahora, en este caso, el Vin o la lista de vértices de entrada es la lista de vértices de salida después de comprobar en el cortador de la derecha. Así que es 2, 2 ', 3', 1. Por lo tanto, inicialmente Vout es NULL. Y el par de vértices que necesitamos comprobar son 4; {2, 2 ', 2', 3 ', 3' 1} y {1, 2}.
Por lo tanto, primero comprobamos {2, 2 '} contra el clipper superior y nos encontramos con que ambos guiones 2 y 2 están dentro porque ambos están por debajo de la cortadora. Así, la lista de salida pasa a ser 2 '. A continuación, comprobamos el siguiente par de vértices {2 ', 3'} de nuevo {2 ', 3'} ambos están por debajo, por lo que dentro de entonces Vout se convierte en 2 'y 3'.
Entonces comprobamos 3 ', 1 en este caso, vemos que 3' está adentro, mientras que 1 está afuera. A continuación, calculamos el punto de intersección 3 '' aquí y modificamos nuestra lista de salida para ser {2 ', 3', (y) 3 ''}. Por último, comprobamos {1, 2}. Aquí vemos que 1 está afuera mientras que 2 está adentro. A continuación, de nuevo calculamos el punto de intersección 1 'y modifiquemos Vout para ser {2', 3 ', 3' ', 1' (y) 2}. Por lo tanto, esta es nuestra lista de salida después de comprobar en contra de la cortadora superior, y esto sirve como la lista de entrada a la cortadora restante a comprobar que es inferior.
Esta es la lista de entrada para el recorte inferior y la lista de salida es inicialmente nula y como podemos ver todos estos vértices 2, 2 ', 3', 3 '' y 1 ' están dentro porque están por encima de la cortadora inferior. Por lo tanto, la lista de salida se convierte en la misma que es {2 ', 3', 3 '', 1 ', 2}. Esta es también la salida del algoritmo, porque aquí no hay más clippers que comprobar en contra y el algoritmo se detiene. Por lo tanto, al final del algoritmo, obtenemos esta lista de vértices que representa la región recortada. Así es como funciona el algoritmo.
Ahora vamos a pasar a nuestro próximo algoritmo que es el algoritmo de Weiler-Atherton. Ahora, el algoritmo Sutherland-Hodgeman que acabamos de discutir funciona bien cuando el área de relleno es un polígono convexo y se va a recortar contra una ventana de recorte rectangular. Por lo tanto, si esta condición satisface entonces el algoritmo Sutherland-Hodgeman funciona bien.
Sin embargo eso no necesita ser siempre el caso y que el algoritmo de Weiler-Atherton proporciona una solución más general. Este algoritmo se puede utilizar para cualquier polígono, cóncavo o convexo contra cualquier ventana de recorte poligonal. No es necesario ser sólo un rectángulo. Veamos cómo funciona.
Por lo tanto, trataremos de entender el algoritmo en términos de un ejemplo en lugar de pasos formales. Consideremos este escenario aquí tenemos una ventana de recorte rectangular y un área de relleno. Por lo tanto, trataremos de entender cómo el algoritmo nos ayuda a identificar las partes a descartar que es esta región y las partes a mantener después de recortar que son estas dos regiones esta y esta. Por lo tanto, aquí empezamos con el procesamiento de los bordes del área de relleno en un orden particular, que es típicamente anticlockwise. Por lo tanto, aquí empezamos con el procesamiento de los bordes del área de relleno en un orden particular que normalmente es el orden anticlockwise.
Por lo tanto, lo que hacemos en el procesamiento, comprobamos los bordes uno por uno, continuamos por los bordes hasta que encontramos un borde que cruza hacia el exterior del límite de la ventana del clip. Comencemos con este borde (1, 2) este borde. Por lo tanto, lo comprobamos si cruza el límite de la ventana o no, ese es nuestro procesamiento. No se cruza para que continuemos en la siguiente etapa, es decir, {2, 3} representada por el par de vértices {2, 3}.
Ahora este borde cruza hacia el exterior del límite de la ventana. Tenga en cuenta que aquí estamos siguiendo el orden anticlockwise. Si el borde no cruza hacia el exterior en su lugar si el borde está cruzando hacia dentro de la ventana, entonces sólo grabamos por punto de intersección, mientras que si el borde está cruzando hacia el límite exterior, entonces paramos y realizamos una acción diferente, lo que hacemos en ese caso.
En el punto de intersección, hacemos un desvío. Por lo tanto, aquí el punto de intersección es 2 ' este punto. Entonces, entonces hacemos un desvío. Ya no seguimos en esta dirección. En cambio, lo que hacemos ahora seguimos el borde de la ventana del clip en la misma dirección, manteniendo la orden de cruce.
Así que, ahora en este ejemplo vamos a seguir esta dirección anticlockwise y hacer un desvío de aquí ahora a lo largo de la frontera de la ventana, así que aquí vamos a seguir este orden. Así que, esencialmente, cómo se está atravesando, inicialmente atravesábamos de esta manera entonces mientras atravesábamos de esta manera se encontró que este borde está cruzando hacia el exterior. Entonces, entonces atravesamos de esta manera en lugar de continuar a lo largo del borde.
Ahora, esto a lo largo de la travesía del límite, continuamos hasta encontrar otro borde de área de relleno que cruza hacia el interior de la ventana de clip. Así que, aquí como se puede ver, si seguimos un cruce anticlockwise, entonces este borde en realidad se cruza al interior. Por lo tanto, el borde es 6, 1 denotado por el par de vértice 6, 1 que cruza al interior de la ventana y lo encontramos mientras que atraviesa el límite de la ventana. ¿En ese momento lo que hacemos?
En ese punto, reanudamos el cruce del borde del polígono de nuevo en la misma dirección. Por lo tanto, nos detenemos aquí y luego volvemos a continuar por la misma dirección hasta que nos encontramos con el punto de intersección previamente procesado. Así que, aquí seguimos hasta el punto 1 porque el punto uno ya está procesado. Por lo tanto, paramos aquí.
Así que, después de esta parte, vemos que empezamos desde aquí, luego atravesamos hasta este punto, determinamos este punto de intersección, luego atravesado a lo largo de esta línea hasta este punto de intersección, atravesado de nuevo hasta el punto de origen. Por lo tanto, hay dos reglas de cruce desde un punto de intersección debido al exterior al borde interior de área de relleno que debemos seguir los bordes del polígono de un punto de intersección debido a dentro del borde de área de relleno exterior que debemos seguir los límites de la ventana.
Por lo tanto, estas son las reglas que aplicamos al realizar el cruce. Pero esto nos da una parte del área recortada que es esta parte y al parecer aquí se detuvo. Entonces, ¿cómo llegar a la otra parte? En realidad, aquí el algoritmo no se detiene. ¿Qué pasa después?
Antes de entrar en eso, también, usted debe recordar que cada vez que estamos atravesando la dirección transversal sigue siendo la misma, independientemente de si usted está atravesando a lo largo del borde o a lo largo de la frontera de las ventanas. Por lo tanto, si usted está siguiendo una dirección anticlockwise, debe ser anticlockwise siempre.
Y después de que este cruce termina, la salida es la lista de vértices que representa un área recortada, como hemos visto. Así, en este caso la travesía terminó en 1. Por lo tanto, obtenemos la lista de vértices {1, 2, 2 ', (y) 1'} que nos da esta área recortada.
Pero claramente aquí, todo el área de llenado no está cubierta. Algunos de los vértices todavía no se procesan, entonces, ¿qué hacemos? Reanudamos el cruce en caso de que todos los vértices no sean procesados. Reanudamos el cruce a lo largo de los bordes del polígono en la misma dirección desde el último punto de intersección de un borde exterior del polígono. Por lo tanto, nuestro último punto de intersección de un borde exterior del polígono es 2 ' aquí. Recuerde que este 1 ' está fuera del borde interior. Por lo tanto, no es aplicable. Por lo tanto, lo que es aplicable es 2 '. Así que, desde allí reanudamos nuestra travesía hasta que cubrimos los vértices restantes.
Y este cruce es de una manera similar que hemos hecho antes. Así que, aquí lo que hacemos, atravesamos a lo largo de esta dirección anticlockwise hacia el vértice aquí. Entonces, atravesamos este borde, entonces este borde. Pero aquí, como se puede ver, hay un cruce exterior al interior. Por lo tanto, no hacemos nada, seguimos recorriendo de esta manera, de esta manera. Ahora en este punto podemos ver que uno dentro del cruce exterior está ahí. En el caso anterior, estaba fuera del interior.
Aquí está, dentro de fuera a las 6 '. Así que, ahora atravesamos por el borde. Entonces nos encontramos con este punto de intersección otra vez. Esto es de fuera a dentro. Así que, ahora retomamos nuestro cruce a lo largo de la orilla. Entonces, finalmente lo que hicimos, recorrimos esta dirección, esta dirección, esta dirección, entonces esta dirección, entonces esta dirección, esta dirección. Ahora ya hemos encontrado 4 antes, así que paramos nuestra travesía aquí cuando nos encontramos con 4. Entonces obtenemos esta porción restante del área recortada también como la forma en la que lo conseguimos antes. Así pues, así funciona Weiler-Atherton.
Así, nos encontramos o discutimos dos algoritmos; uno es Sutherland-Hodgeman, uno es Weiler-Atherton. Sutherland Hodgeman es más sencillo pero tiene un uso restrictivo. Es aplicable cuando tenemos un polígono convexo que se recorta contra una ventana rectangular. Mientras que Weiler-Atherton es más genérico, es aplicable a cualquier área de relleno, área de relleno poligonal, cóncava o convexa contra cualquier ventana de recorte poligonal.
Por lo tanto, hasta ahora hemos discutido el recorte en 2D. Por lo tanto, hemos aprendido a recortar una línea de punto y área de relleno. Ahora vamos a tratar de entender el recorte en 3D, porque aquí nuestro principal foco es la interconexión gráfica 3D. Así que, trataremos de entender el recorte en 3D que es esencialmente la extensión de las ideas que ya hemos discutido que está recortando en 2D. Veamos cómo se hacen estas extensiones.
Sólo cosa que tenemos que tener en cuenta es que aquí estamos hablando de recorte en contra del volumen de vista normalizado que es generalmente una linda simétrica con cada coordenada en el rango menos 1 a 1 en las 3 direcciones. Es un volumen de vista normalizado que asumimos al desarrollar el recorte o realizar el recorte. Ahora, Cohen-Sutherland podemos extender la versión 2D básica a 3D con alguna modificación.
El recorte de puntos también, podemos extender, así que primero hablemos de recorte de puntos. Aquí comprobamos para x, y y z antes estamos comprobando sólo para x e y si estos valores están dentro del rango del volumen canónico. Si eso es así, entonces se debe mantener el punto. De lo contrario, se debe recortar.
En el caso del algoritmo de recorte de línea de Cohen Sutherland, se puede extender fácilmente al recorte 3D. Sin embargo, con algunas modificaciones, la idea central sigue siendo la misma. Es decir, dividimos el espacio de coordenadas en regiones. Ahora, antes teníamos 9 regiones. Ahora ya que estamos tratando con 3D tenemos 27 regiones, 3 veces. Ahora ya que tenemos 27 regiones. Por lo tanto, cada región necesita ser representada con 6 bits. Cada bit para los 6 planos que definen el volumen de vista canónica. Lejos, cerca, arriba, abajo, derecha, izquierda esto está en contraste con los 4 bits antes utilizados para denotar los 4 lados de la ventana.
Ahora para cada avión, tenemos estas 9 regiones definidas por lo que hay 9 regiones detrás del plano lejano. Hay 9 regiones entre el plano cercano y el lejano y hay 9 regiones frente al plano cercano. Juntos hay 27 regiones y cada región está representada con este código de 6 bits, donde bit 6 representa la región lejana, bit 5 es la región cercana, bit 4 es la región superior, bit 3 es la región inferior, bit 2 representa la región derecha y bit 1 representa la región izquierda. La idea sigue siendo la misma con 2D sólo los cambios de tamaño porque ahora estamos lidiando con 3D. Los demás pasos siguieron siendo los mismos.
Ahora vamos a tratar de entender la extensión de los algoritmos para el recorte de área de relleno. Entonces, aquí lo que hacemos. Primero comprobamos si el volumen de bounding del poliedro que es el área de llenado está fuera del volumen de vista simplemente comparando sus valores de coordenadas máximo y mínimo en cada una de las direcciones x, y y y. Si el volumen de la bounding está fuera, entonces lo recorremos y por completo. De lo contrario aplicamos la extensión 3D del algoritmo Sutherland Hodgeman para el recorte.
Aquí también la idea central del algoritmo 3D Sutherland Hodgeman sigue siendo la misma con versión 2D con dos diferencias principales. ¿Cuáles son esas diferencias?
Un poliedro está formado por superficies poligonales. Por lo tanto, aquí tomamos una superficie a la vez para realizar el recorte. Antes lo que estábamos haciendo, tomamos una línea a la vez. Aquí estamos tomando una superficie a la vez. Ahora, por lo general los polígonos se dividen en mallas triangulares y hay algoritmos para hacerlo a los que puede referirse en el material de referencia al final de esta conferencia. Por lo tanto, utilizando esos algoritmos, podemos dividir un polígono en una malla triangular y luego cada triángulo se procesa a la vez.
Y la segunda diferencia es, en lugar de los 4 clippers que teníamos antes, ahora tenemos 6 clippers. Que corresponden a las 6 superficies de la vista del volumen de vista normalizado que es un cubo. Así, estas son las diferencias entre la versión 2D del algoritmo y la versión 3D que antes estamos considerando la línea a la vez para el recorte. Ahora estamos considerando una superficie a la vez. Ahora estas superficies son superficies poligonales y podemos convertir estas superficies en mallas triangulares.
Y luego realizamos recorte para cada triángulo en un momento que es una diferencia. Otra diferencia es antes que estamos tratando con 4 clippers, ahora tenemos 6 clippers que representan los 6 planos de la vista del volumen que es un cubo. Por lo tanto, eso es en resumen las principales diferencias entre el recorte en 2D y el recorte en 3D. Las ideas centrales siguen siendo las mismas que algunos cambios menores están ahí. Por lo tanto, con eso llegamos al final de nuestra discusión sobre el recorte.
Y nuestro próximo tema será la eliminación de la superficie oculta. Por lo tanto, aquí pocas cosas omitieron durante la discusión. Por ejemplo, la creación de malla triangular de un polígono determinado. Por lo tanto, para estos detalles puede referirse al material que se mencionará en la siguiente diapositiva.
Por lo tanto, lo que he cubierto hoy se puede encontrar en este libro. Puede pasar por el capítulo 7, sección 7.1.3, 7.1.4 y sección 7.2. Por los temas que he cubierto sin embargo fuera de estos temas también hay pocas cosas interesantes que no discuto pero usted puede encontrar eso en el libro. Por lo tanto, también te puede gustar ir a través de esos materiales. Eso es todo para hoy. Gracias y adiós.