Curvas de Bezier
Historia
Las curvas de Bézier fueron publicadas por primera vez en 1962 por el ingeniero francés Pierre Bézier y posteriormente, trabajando en la Renault, las usó con abundancia en el diseño de las diferentes partes del automóvil. Las curvas fueron desarrolladas por Paul de Casteljau usando el algoritmo que lleva su nombre. Se trata de un método numéricamente estable para evaluar las curvas de Bézier. Posteriormente, los inventores del PostScript, lenguaje que permitió el desarrollo de sistemas de impresión de alta calidad desde el ordenador, introdujeron en ese código el método de Bézier para la generación del código de las curvas y los trazados. El lenguaje PostScript sigue empleándose ampliamente y se ha convertido en un estándar de calidad universal; por ello, los programas de diseño vectorial como Adobe Illustrator, el extinto Macromedia FreeHand y Corel Draw, tres de los programas más importantes de dibujo vectorial y otros como Inkscape, denominan «bézier» a algunas de sus herramientas de dibujo, y se habla de «trazados bézier», «pluma bézier», «lápiz bézier», etc. Su facilidad de uso la ha estandarizado en el diseño gráfico, extendiéndose también a programas de animación vectorial, como Adobe Flash, y retoque fotográfico , como Photoshop y Gimp, donde se usa para crear trazos, formas cerradas o selecciones. La idea de definir geométricamente las formas no es demasiado compleja: un punto del plano puede definirse por coordenadas. Por ejemplo, un punto A tiene unas coordenadas (x1, y1) y a un punto B le corresponde (x2,y2). Para trazar una recta entre ambos basta con conocer su posición. Si en lugar de unir dos puntos con una recta se unen con una curva, surgen los elementos esenciales de una curva Bézier; los puntos se denominan «puntos de anclaje» o «nodos». La forma de la curva se define por unos puntos invisibles en el dibujo, denominados «puntos de control», «manejadores» o «manecillas».
pluma bézier
Curvas cúbicas de Bézier
Cuatro puntos del plano o del espacio tridimensional, P0, P1, P2 y P3 definen una curva cúbica de Bézier. La curva comienza en el punto P0 y se dirige hacia P1 y llega a P3 viniendo de la dirección del punto P2. Usualmente, no pasará ni por P1 ni por P2. Estos puntos solo están ahí para proporcionar información direccional. La distancia entre P0 y P1 determina «qué longitud» tiene la curva cuando se mueve hacia la dirección de P2 antes de dirigirse hacia P3.
La forma paramétrica de la curva es:
Los modernos sistemas de imágenes como PostScript, Asymptote y Metafont usan curvas de Bézier desdobladas, compuestas por curvas cúbicas de Bézier para dibujar las formas de las curvas.
Construcción de curvas de Bézier
Curvas lineales
La en la función para la curva lineal de Bézier se puede considerar como un descriptor de lo lejos que está de a . Por ejemplo cuando , es un cuarto de la longitud entre el punto y el punto . Como varía entre 0 y 1, describe una línea recta de a . |
Curvas cuadráticas
Para curvas cuadráticas se pueden construir puntos intermedios desde a tales que varía de 0 a 1:
|
Curvas de órdenes superiores[editar]
Para curvas de orden superior se necesitan, lógicamente, más puntos intermedios. Para curvas cúbicas se pueden localizar puntos intermedios Q0, Q1 y Q2 que describen las curvas lineales de Bézier y los puntos R0 y R1 que describen las curvas cuadráticas: |
Y para curvas de grado 4, se pueden localizar los puntos intermedios Q0, Q1, Q2 y Q3 que describen las curvas lineales de Bézier, los puntos R0, R1 y R2 que describen las curvas cuadráticas y los puntos S0 y S1 que describen las curvas cúbicas. |
Aplicaciones
Gráficos de ordenador
Las curvas de Bézier han sido ampliamente usadas en los gráficos generados por ordenador para modelado de curvas suaves. Como la curva está completamente contenida en la envolvente convexa de los puntos de control, dichos puntos pueden ser visualizados gráficamente sobre el área de trabajo y usados para manipular la curva de una forma muy intuitiva. Las transformaciones afines tales como traslaciones y rotaciones pueden ser aplicadas, con gran facilidad, a las curvas, aplicando las transformaciones respectivas sobre los puntos de control.
Las curvas cuadráticas y cúbicas son muy corrientes. Las curvas de grados superiores son más difíciles de evaluar. Cuanto más complejas son las superficies que se necesitan, las curvas de bajo orden son menos apropiadas. Para garantizar la suavidad de las curvas el punto de control en el que se juntan dos curvas y el punto de control sobre cualquiera de los lados debe ser colineal. Esta opción está frecuentemente desactivada en programas como Adobe Illustrator o Inkscape. Estas curvas poli-Bézier pueden ser observadas en el formato de archivo SVG.
El método más simple para rasterizar una curva de Bézier es evaluarla en muchos puntos espaciados, muy próximos entre sí, y escanearla aproximando la secuencia de segmentos lineales.
Esta manera de proceder no garantiza un resultado con la suficiente suavidad porque los puntos pueden estar espaciados demasiado separados. A la inversa, se pueden generar bastantes puntos de control en áreas donde la curva está cercana a la forma lineal.
Un método adoptado, muy común, es la subdivisión recursiva, en el que los puntos de control de la curva son ajustados para ver si la curva se aproxima a segmentos lineales sin pequeñas tolerancias. Si esto no se logra, la curva es subdividida paramétricamente en dos segmentos y y el mismo procedimiento se aplica por recursividad a cada mitad.
También hay métodos que usan la diferenciación, pero se debe tener cuidado y analizar los errores de propagación. Los métodos analíticos donde un desdoble es intersecado con cada línea escaneada hallando raíces de polinomios de grado tres (por segmentación cúbica) y con múltiples raíces, pero no son frecuentes en la práctica.
Comentarios
Publicar un comentario