# Curva de Bézier

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 en el 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.

## 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 (bitmap), 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 (x$_1$, y$_1$) y a un punto B le corresponde (x$_2$,y$_2$). 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».

## Examen de los casos
### Curvas lineales de Bézier

Dados los puntos P$_0$ y P$_1$, una curva lineal de Bézier es una línea recta entre los dos puntos. La curva viene dada por la expresión:
    $\mathbf {B} (t)=\mathbf {P} _{0}+(\mathbf {P} _{1}-\mathbf {P} _{0})t=(1-t)\mathbf {P} _{0}+t\mathbf {P} _{1}{\mbox{ , }}t\in [0,1].$

### Curvas cuadráticas de Bézier

Una curva cuadrática de Bézier es el camino trazado por la función B(t), dados los puntos: P$_0$, P$_1$, y P$_2$,
    $\mathbf {B} (t)=(1-t)^{2}\mathbf {P} _{0}+2t(1-t)\mathbf {P} _{1}+t^{2}\mathbf {P} _{2}{\mbox{ , }}t\in [0,1].$
Las fuentes de letras TrueType usan curvas de Bézier desdobladas compuestas por curvas cuadráticas de Bézier.

### Curvas cúbicas de Bézier

Cuatro puntos del plano o del espacio tridimensional, P$_0$, P$_1$, P$_2$ y P$_3$ definen una curva cúbica de Bézier. La curva comienza en el punto P$_0$ y se dirige hacia P$_1$ y llega a P$_3$ viniendo de la dirección del punto P$_2$. Usualmente, no pasará ni por P$_1$ ni por P$_2$. Estos puntos solo están ahí para proporcionar información direccional. La distancia entre P$_0$ y P$_1$ determina «qué longitud» tiene la curva cuando se mueve hacia la dirección de P$_2$ antes de dirigirse hacia P$_3$.
La forma paramétrica de la curva es:
    $\mathbf {B} (t)=(1-t)^{3}\mathbf {P} _{0}+3t(1-t)^{2}\mathbf {P} _{1}+3t^{2}(1-t)\mathbf {P} _{2}+t^{3}\mathbf {P} _{3}{\mbox{ , }}t\in [0,1].$
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.

## Generalización

La generalización pasaría a ser las curvas denominadas "Spline", es decir la curva cúbica de Bézier es un Spline de tercer grado. La curva de Bézier de grado $n$ puede ser generalizada de la siguiente manera. Dados los puntos P$_0$, P$_1$,..., P$_n$, la curva de Bézier es del tipo:
    $\mathbf {B} (t)=\sum _{i=0}^{n}{n \choose i}\mathbf {P} _{i}(1-t)^{n-i}t^{i}=\mathbf {P} _{0}(1-t)^{n}+{n \choose 1}\mathbf {P} _{1}(1-t)^{n-1}t+\cdots +\mathbf {P} _{n}t^{n}{\mbox{ , }}t\in [0,1].$
Por ejemplo, una curva de orden cinco ($n=5$) quedaría como:
    $\mathbf {B} (t)=\mathbf {P} _{0}(1-t)^{5}+5\mathbf {P} _{1}t(1-t)^{4}+10\mathbf {P} _{2}t^{2}(1-t)^{3}+10\mathbf {P} _{3}t^{3}(1-t)^{2}+5\mathbf {P} _{4}t^{4}(1-t)+\mathbf {P} _{5}t^{5}{\mbox{ , }}t\in [0,1].$
Esta ecuación puede ser expresada de manera recursiva como sigue: sea la expresión $\mathbf {B} _{\mathbf {P} _{0}\mathbf {P} _{1}\ldots \mathbf {P} _{n}}$ que denota la curva de Bézier determinada por los puntos P$_0$, P$_1$,..., P$_n$. Entonces
    $\mathbf {B} (t)=\mathbf {B} _{\mathbf {P} _{0}\mathbf {P} _{1}\ldots \mathbf {P} _{n}}(t)=(1-t)\mathbf {B} _{\mathbf {P} _{0}\mathbf {P} _{1}\ldots \mathbf {P} _{n-1}}(t)+t\mathbf {B} _{\mathbf {P} _{1}\mathbf {P} _{2}\ldots \mathbf {P} _{n}}(t)$
En otras palabras, el grado $n$ de la curva de Bézier es una interpolación entre los dos grados $n-1$ de las curvas de Bézier.

### Terminología

Existe una terminología asociada exclusivamente para este tipo de curvas. Se tiene:
    $\mathbf {B} (t)=\sum _{i=0}^{n}\mathbf {P} _{i}\mathbf {b} _{i,n}(t),\quad t\in [0,1]$
donde las polinomiales
    $\mathbf {b} _{i,n}(t)={n \choose i}t^{i}(1-t)^{n-i},\quad i=0,\ldots n$
son conocidas como polinomios de Bernstein de grado n, definidos por 0$^0$ = 1.
Los puntos P$_i$ son llamados puntos de control de las curvas de Bézier. El polígono formado por la conexión de los puntos de Bézier con rectas, comenzando por P$_0$ y terminando en P$_n$, se denomina polígono de Bézier (o polígono de control). La envolvente convexa del polígono de Bézier contiene las curvas de Bézier.