PIZiadas gráficas

PIZiadas gráficas

Mi mundo es la imagen.

Animación 3D, Objetos: Curvas [ Blogs experimentales ] [ Blender ]

Tanto las curvas como las superficies se encuentran presentes en las diferentes aplicaciones de los gráficos por ordenador y, en general, de las relativas a imagen de síntesis; son de gran utilidad para la creación de modelos tridimensionales complejos, representación de imágenes vectorizadas, control de animaciones, definición para la visualización de texto y de trayectorias para animación, guías para pelo, representaciones científicas etc.

La utilización de curvas se orienta para la definición simplificada de complejas superficies (en general las utilizadas para crear diferentes tipos de objetos) que a su vez son utilizadas en escenas de animación o para la realización de imágenes estáticas. Estas técnicas de definición y edición permiten obtener, además de una simplificación del trabajo de modelado, una serie de ventajas computacionales:

  • Los modelos son más simples en su descripción y por tanto ocupan menos memoria.
  • La transferencia de datos se reduce (ancho de banda para describir escenas).
  • los modelos de cálculo se normalizan e incorporan al hardware gráfico aprovechando el procesamiento en paralelo de las GPUs, etc.

Las ventajas de utilizar modelos basados en curvas gráficas son numerosas por lo que deberemos valorar su incorporación en las diferentes fases de diseño y creación de los modelos virtuales.

NURBS versus Bezier

Hay una gran variedad de familias de curvas y las correspondientes superficies derivadas (mediante su generalización a una nueva dimensión). En cada una de ellas se pueden encontrar ventajas e inconvenientes que pueden determinar su uso en cada caso concreto de aplicación:

  • Facilidad de utilización (manipulación) de la curva es un aspecto que facilita su popularización
  • Fidelidad o adaptación a gran variedad de formas las pueden hacer versátiles y alcanzar una cierta estandarización
  • Coste o dificultad de cálculo puede limitar su uso de forma generalizada por limitaciones de plataforma.
  • Complejidad o sencillez del modelo matemático

NURBS y curvas de Bezier son de uso frecuente en entornos gráficos, al aportar una o varias ventajas en los requisitos expuestos. Aunque no es objetivo de nuestro análisis entrar en los aspectos matemáticos del tema, se añaden referencias para el lector interesado.

Más allá de la estructura matemática que subyace a estas curvas que nos llevaría a estudiar modelos basados en polinomios como los de Hérmite y Bernstein y otros modelos de ésta ciencia, al diseñador le interesa el comportamiento gráfico y la adaptabilidad de éstas curvas, para su uso práctico.

¿Cómo podemos realizar un enfoque no matemático de una curva o supericie? Con uno puramente gráfico. Describiendo los aspectos visuales que pueden guiarnos de forma intuitiva y práctica; reduciendo la complejidad de su estudio.

Curvas

La parte importante de una curva es la posibilidad de determinar una línea de infinitos puntos definiendo tan sólo unos pocos, ya sean puntos por los que se obligue la curva a pasar, o puntos utilizados como elementos de control.

En Blender disponemos de un menú que da acceso a curvas Bezier y Nurbs, abiertas o cerradas (inicialmente en forma de círculo). Se puede añadir una curva de forma similar a cualquier objeto, y ser editada en forma, posición y orientación. En la ventana 3D pulsaremos la barra espaciadora para acceder.

Curvas de Bezier

Se denomina curvas de Bézier a un sistema que se desarrolló hacia los años 1960, para el trazado de dibujos técnicos, en el diseño aeronáutico y de automóviles. Su denominación es en honor a Pierre Bézier, quien ideó un método de descripción matemática de las curvas que se comenzó a utilizar con éxito en los programas de CAD

La característica principal y diferenciadora de esta familia de curvas respecto de las NURBS que incorpora Blender es que los diferentes puntos que introducimos para su definición son puntos de paso obligado de la curva.

Cada nuevo punto que incorporemos modificará la trayectoria de la curva para que lo contenga. La curvatura dependerá de la posición del punto, pero también de otros elementos de control que veremos.

La representación en el modo objeto es el de una línea continua, transformable al igual que el resto de objetos como se ha dicho.

En el modo de edición sin embargo la representación incluye los elementos gráficos que permiten controlar la forma de la curva.

Al seleccionar la curva y pasar al modo de edición se observa que cada punto de paso tiene asociados dos puntos de control dispuestos en principio sobre una recta tangente a la curva.

Con los mismos métodos que se han visto para la selección y edición de vértices en las mallas, se pueden seleccionar los de la curva para su modificación.

Estas tangentes son las responsables de la “curvatura” o forma de la línea curva. Podemos probar a “tirar” de los extremos de las tangentes en un punto. La curva modifica su curvatura “empujada” o “atraida” por la tangente.


Generalmente, la longitud del segmento de tangencia se asocia con el peso o fuerza de atracción hacia la curva. Tangentes largas atraen con más fuerza que las cortas. La curva se acercará más rápidamente a la tangente en puntos con más peso.

Para añadir un nuevo punto nos situaremos en uno de los extremos y pulsaremos la tecla “Ctrl” y a continuación el botón izquierdo del ratón.

Los puntos de la curva pueden rotarse, ya que realmente lo que giran son los extremos de su tangente. Este cambio altera sustancialmente la curva. La rotación se efectuará seleccionando el punto y pulsando la tecla “R“. al mover el ratón se producirá el giro que se validará pulsando el botón izquierdo.

El mecanismo es idéntico al utilizado para mover o rotar objetos y les son de aplicación sus mismos métodos de entrada de datos.

Como cada objeto en Blender, existen menús y opciones asociados que gobiernan sus parámetros específicos. Las curvas no son excepción.

La pestaña “Curve And Surface” nos permitirá generar superficies a partir de las curvas, definiendo una curva guía y asociando al menos otra para deslizar sobre la anterior.

Primero completemos la manipulación básica y posteriormente nos introduciremos en su aplicación más compleja.

Curvas NURBS

NURBS (acrónimo inglés de la expresión Non Uniform Rational B-splines) es un modelo matemático muy utilizado en la computación gráfica para generar y representar curvas y superficies. (W)

Blender incorpora NURBS abiertas y cerradas. Su edición y transformación se efectua de forma similar a la descrita para las curvas de Bezier.

La principal característica que las diferencia es que los puntos que se utilizan no son de paso de la curva, sino que forman un polígono al cual se acerca “rozando” sus lados.

Técnicamente este “roce” se denomina “tangencia”. Diremos que la curva es tangente a los lados del polígono.

Si seleccionamos la curva y pasamos al modo de edición en Blender, observaremos el polígono de control.

El tramo de curva NURBS (representado en color negro) es tangente al segmento central del polígono de control (amarillo).

Los extremos de la curva no pasan por los vértices del polígono al introducir la curva en la escena.

La modificación de los vértices del polígono de control lleva asociada la variación de la forma de la curva;

Se mantiene la condición de tangencia con el segmento central aunque varía claramente su dirección.

Se puede obligar a la curva a que pase por los extremos, así como modificar diferentes parámetros que alteran la forma de la curva.

Para indicar por ejemplo que el punto inicial y el final sean los correspondientes del polígono de control utilizaremos el botón “Endpoint U” , por ejemplo.

Entre las opciones que nos encontramos en la pestaña “Curve Tools” tenemos la posibilidad de convertir las curvas en polígonos y al revés.

Podremos cambiar parámetros que afectan al orden y a la resolución de la curva, pudiéndose generar formas poligonales con valores pequeños.

El peso (“Weight”) afectará a la curvatura de la curva, mostrando la tendencia ahacia los de mayor valor.

Mediante la tecla Fse cierra o abre la curva, uniendo o separando los puntos inicial y final.

Tutorial Blender