Beziergon: el beziergon rojo pasa por los vértices azules, los puntos verdes son puntos de control que determinan la forma de las curvas de Bézier que las conectan.
En modelado geométrico y en gráficos por computadora , una curva de Bézier compuesta o spline de Bézier es una spline hecha de curvas de Bézier que es al menos continua . En otras palabras, una curva de Bézier compuesta es una serie de curvas de Bézier unidas de un extremo a otro donde el último punto de una curva coincide con el punto inicial de la siguiente curva. Dependiendo de la aplicación, se pueden agregar requisitos adicionales de suavidad (como continuidad ). [1]
Un Bézier compuesto continuo también se llama polibezier , por similitud con la polilínea , pero mientras que en las polilíneas los puntos están conectados por líneas rectas, en un polibezier los puntos están conectados por curvas de Bézier. Un beziergon (también llamado bezigon ) es un camino cerrado compuesto por curvas de Bézier . Es similar a un polígono en que conecta un conjunto de vértices mediante líneas, pero mientras que en los polígonos los vértices están conectados mediante líneas rectas, en un beziergon los vértices están conectados mediante curvas de Bézier. [2] [3] [4] Algunos autores incluso llaman a una curva de Bézier compuesta "spline de Bézier"; [5] Sin embargo, otros autores utilizan este último término como sinónimo de la curva de Bézier (no compuesta), y añaden "compuesta" delante de "spline de Bézier" para indicar el caso compuesto. [6]
Quizás el uso más común de Béziers compuesto sea describir el contorno de cada letra en un archivo PostScript o PDF . Dichos esquemas se componen de un beziergon para cartas abiertas o de varios beziergon para cartas cerradas. Los gráficos vectoriales modernos y los sistemas de fuentes informáticas como PostScript , Asymptote , Metafont , OpenType y SVG utilizan curvas de Bézier compuestas de curvas de Bézier cúbicas (curvas de tercer orden) para dibujar formas curvas.
Función Sinc aproximada utilizando una spline de Bézier suave, es decir, una serie de curvas de Bézier unidas suavemente
Unión suave
Una propiedad comúnmente deseada de los splines es que unan sus curvas individuales con un nivel específico de continuidad paramétrica o geométrica . Si bien las curvas individuales en el spline son completamente continuas dentro de su propio intervalo, siempre hay cierta discontinuidad donde se encuentran diferentes curvas.
El spline de Bézier es bastante único porque es uno de los pocos splines que no garantiza un mayor grado de continuidad que . Sin embargo, es posible disponer puntos de control para garantizar varios niveles de continuidad entre las uniones, aunque esto puede conllevar una pérdida de control local si la restricción es demasiado estricta para el grado dado de la spline de Bézier.
Uniendo suavemente Béziers cúbicos
Dadas dos curvas de Bézier cúbicas con puntos de control y respectivamente, las restricciones para asegurar la continuidad en se pueden definir de la siguiente manera:
(continuidad posicional) requiere que se encuentren en el mismo punto, lo que hacen todos los splines de Bézier por definición. En este ejemplo, el punto compartido es
(continuidad de velocidad) requiere que los puntos de control vecinos alrededor de la unión sean espejos entre sí. En otras palabras, deben seguir la restricción de
(continuidad tangente) requiere que los puntos de control vecinos sean colineales con la unión. Esto es menos estricto que la continuidad, y deja un grado adicional de libertad que se puede parametrizar mediante un escalar . La restricción puede entonces expresarse como
Si bien las siguientes restricciones de continuidad son posibles, rara vez se utilizan con splines de Bézier cúbicos, ya que otros splines como el B-spline o el β-spline [7] naturalmente manejarán restricciones más altas sin pérdida de control local.
(continuidad de aceleración) está limitada por . Sin embargo, aplicar esta restricción en toda una spline de Bézier cúbica provocará una pérdida en cascada de control local sobre los puntos tangenciales. La curva seguirá pasando por cada tercer punto del spline, pero se perderá el control sobre su forma. Para lograr continuidad usando curvas cúbicas, se recomienda utilizar un B-spline cúbico uniforme, ya que garantiza la continuidad sin pérdida de control local, a expensas de que ya no se garantiza que pase por puntos específicos.
(continuidad de curvatura) está restringida por , dejando dos grados de libertad en comparación con , en forma de dos escalares y . Es posible alcanzar mayores grados de continuidad geométrica, aunque se vuelven cada vez más complejos [8]
(continuidad de sacudida) está limitada por . La aplicación de esta restricción a la spline cúbica de Bézier causará una pérdida total de control local, ya que toda la spline ahora está completamente restringida y definida por los puntos de control de la primera curva. De hecho, podría decirse que ya no es una spline, ya que su forma ahora equivale a extrapolar la primera curva indefinidamente, haciéndola no sólo continua, sino que ya no existen uniones entre curvas separadas.
Aproximar arcos circulares
En caso de que las primitivas de arco circular no sean compatibles con un entorno particular, pueden aproximarse mediante curvas de Bézier . [9] Comúnmente, se utilizan ocho segmentos cuadráticos [10] o cuatro segmentos cúbicos para aproximar un círculo. Es deseable encontrar la longitud de los puntos de control que den como resultado el menor error de aproximación para un número dado de segmentos cúbicos.
De la definición de la curva de Bézier cúbica, tenemos:
Con el punto como punto medio del arco, podemos escribir las dos ecuaciones siguientes:
Resolver estas ecuaciones para la coordenada x (e idénticamente para la coordenada y) produce:
Sin embargo, tenga en cuenta que la curva de Bézier resultante está completamente fuera del círculo, con una desviación máxima del radio de aproximadamente 0,00027. Añadiendo una pequeña corrección a puntos intermedios como
la magnitud de la desviación del radio a 1 se reduce en un factor de aproximadamente 3, a 0,000068 (a expensas de la derivabilidad de la curva circular aproximada en los puntos finales).
Caso general
Podemos aproximar un círculo de radio a partir de un número arbitrario de curvas de Bézier cúbicas. Deje que el arco comience en el punto y termine en el punto , ubicado a distancias iguales por encima y por debajo del eje x, abarcando un arco de ángulo :
Los puntos de control pueden escribirse como: [11]
Ejemplos
Polibézier cuadrático de ocho segmentos (rojo) que se aproxima a un círculo (negro) con puntos de control
Polibézier cúbico de cuatro segmentos (rojo) que se aproxima a un círculo (negro) con puntos de control
Fuentes
Las fuentes TrueType utilizan Béziers compuestos compuestos por curvas de Bézier cuadráticas (curvas de segundo orden). Para describir un diseño tipográfico típico como fuente de computadora con cierta precisión, las Béziers de tercer orden requieren menos datos que las Béziers de segundo orden; y estos a su vez requieren menos datos que una serie de líneas rectas. Esto es cierto aunque cualquier segmento de línea recta requiera menos datos que cualquier segmento de una parábola; y ese segmento parabólico, a su vez, requiere menos datos que cualquier segmento de una curva de tercer orden.
^ Eugenio V. Shikin; Alejandro I. Plis (14 de julio de 1995). Manual de Splines para el usuario. Prensa CRC. pag. 96.ISBN 978-0-8493-9404-1.
^ API polibézier de Microsoft
^ Referencia de la API de Papyrus beziergon
^ "Una caja de crayones mejor". Infomundo. 1991.
^ Rebaza, Jorge (24 de abril de 2012). Un primer curso de matemáticas aplicadas. John Wiley e hijos. ISBN9781118277157.
^ (Empresa), Wolfram Research (13 de septiembre de 1996). Paquetes complementarios estándar de Mathematica ® 3.0. Prensa de la Universidad de Cambridge. ISBN9780521585859.
^ Goodman, TNT (9 de diciembre de 1983). "Propiedades de los β-splines". Revista de teoría de la aproximación . 44 (2): 132-153. doi : 10.1016/0021-9045(85)90076-0 .
^ DeRose, Anthony D. (1 de agosto de 1985). "Continuidad geométrica: una medida de continuidad independiente de la parametrización para el diseño geométrico asistido por computadora".
^ Stanislav, G. Adam. «Dibujando un círculo con Curvas de Bézier» . Consultado el 10 de abril de 2010 .
^ "Digitalización de diseños de letras". Manzana . Consultado el 26 de julio de 2014 .
^ DeVeneza, Richard. «Dibujando un círculo con Curvas de Bézier» (PDF) . Consultado el 10 de abril de 2010 .