Modelar: obtener la estructura matemática que va a representar a cada uno de los objetos mediante vértices, aristas y caras.

Los modelos 3D se clasifican en:

  • Modelos sólidos: representan objetos con masa y volumen. Importan tanto la parte exterior como interior.
  • Modelos de contorno: únicamente representa el contorno del objeto. Solo interesa la superficie.

Se pueden crear modelos 3D a partir de dos técnicas diferentes:

  • Modelado poligonal: se construyen modelos complejos a partir de una figura geométrica muy simple.
  • Modelado regular: se construyen modelos mediante curvas y superficies (mediante ecuaciones matemáticas más precisas).

Para almacenar los modelos ya creados se usa un mallado poligonal en un archivo.

Propiedades de consistencia de un mallado poligonal

Polígonos no triviales:

Un conjunto de vértices determinan un polígono no trivial si al menos tres de ellos no están alineados.

¿Cómo se prueba matemáticamente que 3 vértices están alineados?

Se recuerda que: ||U x V|| = ||U|| · ||V|| · Si QP x QR == vector nulo Alineados Tres vectores alineados.svg

Polígonos planos:

Un conjunto de vértices determina un polígono plano si todos sus vértices son coplanarios. Un triángulo siempre es un polígono plano.

¿Cómo se prueba matemáticamente que un polígono es plano?

Partiendo de un conjunto de vértices () no trivial:

  • Calculamos el plano generado por :

    Para ello necesitamos el vector normal y un punto del plano:

    • Vector normal N = x
    • Punto del plano
  • Comprobamos que el resto de vértices pertenezcan a dicho plano:

    Para cada vemos qué ocurre con N = ?

    Para que el punto pertenezca al plano, el resultado del producto escalar debe ser igual a 0.

    Si N = 0 para todo j la cara es plana.

Polígono simple-convexo:

  • Simple: el conjunto de aristas no consecutivas que determinan los lados de la cara no se cortan.

  • Convexo: sus diagonales son siempre interiores y sus ángulos internos no superan los 180º.

    ¿Cómo se prueba matemáticamente que una cara es simple-convexa?

    Tenemos que comprobar que para cada arista, el plano perpendicular a la cara al que pertenece dicha arista deja en un mismo semi-espacio al resto de vértices de la cara.

    Partiendo de un conjunto de vértices () no trivial y cuya cara es plana:

    Para cada arista :

    Ecuación del plano perpendicular a la cara pasando por dicha arista: W = 0

    • Vector normal: W = N x (siendo N el vector normal de la cara)

    • Punto del plano:

      Comprobar que para todos los vértices el signo resultante es el mismo. Si eso ocurre hay que repetir con la siguiente arista ().

Normales a la cara

Todas las normales del mallado deben apuntar al mismo sentido.

La normal de una cara se puede calcular de la siguiente forma:

N =

¿Cómo se comprueba matemáticamente? Ejemplo:

Caras = Aristas =

En ambas caras, la arista común se repiten en el mismo sentido (), luego las normales apuntan inversamente.

Para un mallado consistente todas las aristas deben de aparecer dos veces en sentido contrario.

Euler-Poincaré

Dado un mallado poligonal (V, E, F):

V - A + F = 2(1 - G)

Siendo V, A y F el número de vértices, aristas y caras respectivamente. La “G” determina el género de la superficie 3D que modela. Indica el n.º de “agujeros” que tiene el objeto.

Si dicha fórmula no se cumple, el mallado es inconsistente.

Euler-Poincaré no determina si las normales son inversas, aunque sí errores como polígonos no triviales, polígonos no simple-convexos, que haya alguna cara/vértice suelto, etc.

Subdivisión de mallas

Su objetivo es transformar la malla poligonal a una con mayor suavidad.

Existen dos métodos de subdivisión de mallas, pero en esta asignatura solo veremos uno.

Método Catmull-Clark

Input: (V, E, F) mallado cuadrangular.

Output: (V’, E’, F’) mallado cuadrangular.

  1. Por cada cara se añade un vértice a V’ (inicialmente vacío). Este vértice consiste en el baricentro de la cara, llamado punto-cara.
  2. Por cada arista se añade un vértice a V’. Este vértice consiste en el baricentro del polígono formado por los vértices de la arista y los puntos-cara de las dos caras adyacentes a la arista. Dicho punto se denomina como punto-arista.
  3. Por cada vértice v añadimos v’ según la siguiente fórmula:
  • : baricentro de los puntos-cara de las caras adyacentes a v.

  • : baricentro de los puntos medio de las aristas adyacentes a v.

  • n: número de caras (o aristas) adyacentes a v.

    Mallado inicial: V vértices, E aristas, F caras.

    Mallado tras Catmull-Clark: V’ = F + E + V

Aristas:

Cada punto-cara se une con el punto-arista de las aristas de la cara.

Se añaden 4·F aristas.

Cada vértice modificado se une con los puntos-aristas de las aristas adyacentes al vértice.

Caras:

Serán las caras delimitadas por las aristas construidas.

El mallado resultante de Catmull-Clark debe ser consistente y verificar Euler-Poincaré