Subdivisión de superficies

En el mundo de los gráficos 3D por computadora, una subdivisión de superficies es un método para representar una superficie suave mediante la especificación de una malla poligonal menos detallada. La superficie subdividida puede calcularse a partir de una malla más burda, iterando el proceso de dividir cada cara poligonal en caras más pequeñas que se aproximan mejor a la superficie suavizada.

Generalidades editar

El algoritmo para subdivisión de superficies es naturalmente recurrente. El proceso inicia con una malla poligonal dada. Posteriormente se aplica un esquema de refinamiento a esta malla. Este proceso toma la malla y la subdivide, creando nuevos vértices y caras. Las posiciones de los nuevos vértices en la malla son computados sobre la base de la posición de los vértices antiguos cercanos. En algunos esquemas de refinamiento, la posición de los vértices anteriores puede ser también alterados (posiblemente basados en la posición de los nuevos vértices). Este proceso produce una malla más densa que la original, conteniendo más caras poligonales. La malla resultante puede volver a ser procesada por el mismo esquema de refinamiento una y otra vez.

El límite de subdivisiones de una superficie es iterable hasta el infinito. En la práctica, este algoritmo es aplicado un pequeño número de veces.

Esquemas de refinamiento editar

Los esquemas de refinamiento de superficies pueden ser clasificados en dos principales categorías: por interpolación y por aproximación. Los esquemas por interpolación requieren de ajustarse a la posición de los vértices de la malla original. Los esquemas por aproximación no; pueden y ajustarán estas posiciones según lo necesario. En general, los esquemas de aproximación tienen mejor suavidad, pero el usuario tiene menor control del resultado. Esto es análogo a las superficies de splines y las curvas, donde las curvas bézier requieren interpolar ciertos puntos de control, mientras que los b-splines no.

Existe otra subdivisión en los esquemas de refinamiento: el tipo de polígono sobre el cual operan. Algunos funcionan solamente en cuadriláteros (quads), mientras otros operan sobre triángulos solamente.