Las bèzier más alla del dibujo 2D
Para cerrar este conjunto de pequeños tutoriales dedicados a los trazados bèzier quisiera trasladaros una pequeña reflexión de por qué estas curvas resultan especialmente adecuadas para gestionar trazados bidimensionales —2D—, pero sin embargo ya no funcionan tan bien para desarrollar perfiles 3D, labor en la que sobresalen especialmente las NURBS. Y todo esto lo veremos a través de un vídeo.
Pero antes me gustaría comentar cómo este tipo de herramientas —las bèzier— se han instalado en muchas otros ámbitos al margen de lo que es estrictamente el dibujo o la ilustración vectorial. Y por descontado, comentar también cómo el poseer un buen dominio sobre el comportamiento de las mismas será beneficioso para
asegurarnos un perfecto control sobre los parámetros que con ellas controlamos.
Aquí tenemos por ejemplo un pantallazo que nos muestra las curvas con las que podemos controlar la evolución a lo largo del tiempo de cualquier tipo de
parámetro dentro de un programa 3D (en este caso Modo): por ejemplo, la evolución de la velocidad en la traslación, rotación o escalado de los objetos. Fijáos que son sencilla y llanamente curvas bèzier ;-)
Y se puede controlar virtualmente cualquier tipo de parámetro con este tipo de solución: dentro de Modo también podemos gestionar cómo evoluciona un gradiente de color controlandolo mediante trazados bèzier.
En muchos programas 3D se puede diseñar el recorrido de un objeto por el espacio mediante un trazado bèzier. Y también es así con las aplicaciones de edición y postproducción de vídeo, como AfterEffects. Aquí vemos cómo definimos el movimiento en espiral de un cuadradito rojo mediante un recorrido bèzier.
|
|
 |
Bèzier versus NURBS
Como os comentaba al principio de esta última entrega, los trazados bèzier resultan idóneos para el dibujo y la gestión de curvas bidimensionales, especialmente cuando contamos con un programa que los implementa de un modo sólido y robusto. En cambio, para trazar perfiles tridimensionales ya no son tan adecuados, pese a que estén disponibles para muchos pogramas 3D. Para esta labor resultan perfectas las curvas NURBS.
Vamos a ver por qué. Y lo vamos a ver a través de un vídeo, aunque más abajo también os dejo una transcripción textual de todo lo que se desarrolla en esta captura animada (también podéis ver el vídeo en alta resolución desde Vimeo, donde realmente está alojado):
 |
|
El vídeo no puede verse en HD dentro de mi página.
El link te llevará a Vimeo y allí sí verás el icono HD. |
|
 |
|
Una vez en Vimeo, pincha el icono de las cuatro flechas, abajo a la derecha, para poder verlo en HD (1280 x 720). |
|
 |
| IMPORTANTE: si tienes cualquier problema en la reproducción (aquí o en Vimeo), prueba a actualizar a la última versión de Flash Player |
[ TRANSCRIPCIÓN DEL CONTENIDO DE ESTE VÍDEO ]
Para empezar vemos cómo trazaríamos una determinada forma 2D usando los trazados bèzier de Illustrator, uno de los programas donde mejor implementada está esta tecnología. Aquí conseguimos perfilar nuestro recorrido con una gran economía de puntos, lo que por otro lado contribuye a crear un trazado con una curvatura muy elegante
Pero no todos los programas tienen una implementación de las bèzier tan robusta y flexible…
Modo por ejemplo es un magnífico modelador poligonal, tanto si lo usamos para definir superficies rígidas como por subdivisión. Sin embargo cuenta con unas herramientas para crear curvas bastante pobres (tanto las bèzier como las otras splines, pero especialmente éstas últimas como veremos al final).
Veamos cómo trazaríamos ese mismo recorrido con las bèzier de Modo.
Para empezar nos vemos obligados a utilizar más puntos de control que en el caso de Illustrator, ya que no podemos usar tangentes de diferente longitud para un determinado punto manteniendo idéntica direccionalidad en ambas. Podemos mover las tangentes independientemente, sí, pero entonces no tenemos garantizada la continuidad de la curva ya que se introduce un punto de inflexión.
Lógicamente cada software implementa las bèzier de una determinada manera: si usamos las de Cinema 4D veremos que funcionan de manera diferente a las de Illustrator y a las de Modo.
En cualquier caso es ahora cuándo llegamos al meollo de la cuestión (y en esto ya no es tan decisiva la calidad de la implementación de las bèzier, como su propia naturaleza): una vez que tenemos resuelto el trazado en la vista frontal, tenemos que ir a la vista en planta y reajustar todos los nodos y sus tangentes para que la misma curva vaya siguiendo nuestra plantilla desde ese otro punto de vista.
Y es entonces cuando nos encontramos con el engorro de las bèzier ya que para cada punto debemos controlar tres aspectos:
— la posición de ese vértice o nodo
— la orientación de cada tangente bèzier
— y la longitud de las mismas
Y todo eso debemos conseguirlo de manera que al manipular el trazado desde una vista, en planta, no nos estemos cargando el recorrido que ya habíamos definido en el alzado. Fijémonos que de hecho hay algunos puntos en los que resulta especialmente difícil introducir cambios en la vista en planta sin afectar al trazado visto en alzado.
Si redibujamos esta misma estructura usando unas curvas NURBS todo es muy diferente.
Para empezar las NURBS no tienen manejadores de tangencia, lo cual hace que en principio sean más fáciles de manejar: sólo debemos concentrarnos en mover los nodos —CVs— y nada más.
Pero por otro lado el recorrido no pasa por los CVs, excepto en el caso del primero y el último. Y esto añade cierta dificultad, sobre todo en nuestros primeros pasos con las NURBS, si hemos accedido a este sistema de dibujo teniendo una experiencia previa usando trazados bèzier (como me ocurrió a mi en su día): nos sentiremos un poco perdidos, ya que las reglas son diferentes.
En principio son necesarios algunos nodos más que cuando dibujamos con bèzier pero, por otro lado, la tensión de la curvatura es mucho más fácil de controlar, ya que las NURBS suelen tener continuidad “C3”, también llamada “continuidad de curvatura” (al mover un CV la variación de la curva afecta más allá de los dos CVs adyacentes al que movemos). En cambio, en una bèzier, al mover un vértice, el recorrido sólo se ve afectado hasta los dos vértices adyacentes.
Todo esto hace que en el espacio tridimensional sea mucho más sencillo construir buenos perfiles utilizando NURBS. Lo encajamos todo desde la vista en alzado, por ejemplo, y luego hacemos los ajustes pertinentes en cada uno de los CVs desde la vista en planta, desplazandolos ortogonalmente. Y en todo momento nos debemos concentrar tan sólo en reposicionar cada CV, sin tangentes. Incluso es mucho más sencillo modificar cada vértice desde una vista en perspectiva.
Existen otros medios alternativos a las bèzier y las NURBS (splines cúbicas, bi-cubicas, cuadráticas, akima, etc). Aunque nuevamente en este aspecto las splines presentes en Modo 302 dejan bastante que desear. Esperemos que en futuras versiones las mejoren, incorporando un buen soporte para las NURBS.
Para terminar y como curiosidad me gustaría presentaros un nuevo tipo de curva que no tiene nada que ver con las bézier ni con las NURBS: son las curvas SPIRO, desarrolladas muy recientemente por uno de los desarrolladores originales de Inkscape, Raph Levien, y que será implementado en la próxima versión de este programa. De momento podemos jugar con una versión que todavía es experimental, pero fijaros que fácil resulta crear curvas elegantes y con una perfecta tensión en su continuidad.
|