
En modelado geométrico y en gráficos por computadora , una curva de Bézier compuesta o spline de Bézier es un spline hecho de curvas de Bézier que es al menoscontinua . En otras palabras, una curva de Bézier compuesta es una serie de curvas de Bézier unidas extremo con extremo, donde el último punto de una curva coincide con el punto de inicio de la siguiente curva. Dependiendo de la aplicación, se pueden requerir suavidades adicionales (comooSe puede añadir continuidad). [ 1 ]
Quizás el uso más común de las curvas de Bézier compuestas sea describir el contorno de cada letra en un archivo PostScript o PDF . Dichos contornos se componen de un beziergón para letras abiertas o de varios beziergones para letras cerradas. Los sistemas modernos de gráficos vectoriales y fuentes tipográficas como PostScript , Asymptote , Metafont , OpenType y SVG utilizan curvas de Bézier compuestas, formadas por curvas de Bézier cúbicas (curvas de tercer orden), para dibujar formas curvas.
Terminología

Una Bézier compuesta continua también se llama polibézier , por similitud con una polilínea , pero mientras que en las polilíneas los puntos están conectados por líneas rectas, en una polibézier los puntos están conectados por curvas de Bézier. Un béziergón (también llamado bézigón ) es un camino cerrado compuesto por curvas de Bézier . Es similar a un polígono en que conecta un conjunto de vértices por líneas, pero mientras que en los polígonos los vértices están conectados por líneas rectas, en un béziergón los vértices están conectados por curvas de Bézier. [ 2 ] [ 3 ] [ 4 ] Algunos autores incluso llaman acurva de Bézier compuesta una "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 denotar el caso compuesto. [ 6 ]
Unión suave
Una propiedad comúnmente deseada de las 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 la spline son completamenteAunque son continuas dentro de su propio intervalo, siempre existe cierto grado de discontinuidad donde se encuentran diferentes curvas.
La curva Bézier es bastante singular en el sentido de que es una de las pocas curvas que no garantiza un grado de continuidad mayor queSin embargo, es posible establecer puntos de control para garantizar distintos 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 curva Bézier.
Uniendo suavemente Béziers cúbicos
Dadas dos curvas de Bézier cúbicas con puntos de controlyrespectivamente, las restricciones para garantizar la continuidad ense puede definir de la siguiente manera:
- (continuidad posicional) requiere que se encuentren en el mismo punto, lo cual hacen todos los polibéziers 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 quecontinuidad, dejando un grado de libertad adicional que puede parametrizarse utilizando un escalarLa restricción puede expresarse entonces mediante
Aunque son posibles las siguientes restricciones de continuidad, rara vez se utilizan con polibéziers cúbicos, ya que otras splines como la B-spline o la β-spline [ 7 ] manejarán naturalmente restricciones más altas sin pérdida de control local.
- (continuidad de aceleración) está restringida porSin embargo, aplicar esta restricción a lo largo de toda una spline cúbica de Bézier provocará una pérdida en cascada del control local sobre los puntos de tangencia. La curva seguirá pasando por cada tercer punto de la spline, pero se perderá el control sobre su forma. Para lograrPara lograr continuidad usando curvas cúbicas, se recomienda usar una B-spline cúbica uniforme en su lugar, ya que garantizacontinuidad sin pérdida de control local, a costa de no tener ya la garantía de pasar por puntos específicos.
- (continuidad de curvatura) está restringida por, dejando dos grados de libertad en comparación con, en forma de dos escalaresy. Es posible alcanzar grados más altos de continuidad geométrica, aunque se vuelven cada vez más complejos [ 8 ].
- (continuidad de sacudida) está restringida porAplicar esta restricción a la spline cúbica de Bézier provocará una pérdida total del control local, ya que toda la spline queda ahora completamente restringida y definida por los puntos de control de la primera curva. De hecho, podría decirse que ya no es una spline, puesto que su forma ahora equivale a extrapolar la primera curva indefinidamente, lo que la convierte no solo encontinuo, peroya que las uniones entre curvas separadas ya no existen
Aproximación de 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 longitudde puntos de control que dan como resultado el menor error de aproximación para un número dado de segmentos cúbicos.
Utilizando cuatro curvas
Considerando únicamente el arco circular unitario de 90 grados en el primer cuadrante , definimos los puntos extremos.ycon puntos de controly, respectivamente, como:
A partir de la definición de la curva de Bézier cúbica, tenemos:
Con el puntoComo punto medio del arco, podemos escribir las siguientes dos ecuaciones:
Resolviendo estas ecuaciones para la coordenada x (e idénticamente para la coordenada y) se obtiene: [ 9 ]
Análisis de errores
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. Para el resto de la discusión, la deriva radial para un t dado es.
Corrección no atribuida: Agregar 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 costa de la derivabilidad de la curva circular aproximada en los puntos extremos).
Corrección de tres parámetros de Ellsworth: en lugar de resolver para un solo k , resuelva paraMinimizar la deriva radial máxima, que esLa resolución numérica da como resultado a = 1,00005507808, b = 0,55342925736 y c = 0,99873327689 . La deriva radial máxima es 0,000055. [ 11 ]
Corrección de mínimos cuadrados de Ellsworth: Resuelva para el k que minimizaNuméricamente. La deriva radial máxima es 0,0002, para una reducción del 1,9% en la deriva radial cuadrática total en comparación con el caso de tres parámetros. [ 12 ]
Caso general
Podemos aproximar un círculo unitario de radio a partir de un número arbitrario de curvas de Bézier cúbicas. Sea el arco el que comienza en el puntoy termina en el punto, situados a distancias iguales por encima y por debajo del eje x, abarcando un arco de ángulo:
Después de resolver la curva que comienza y termina en los puntos dados, el punto medio del arco ocurre eny dado que las tangentes de los puntos finales de la curva son las mismas que las de los círculos, los puntos de control se pueden escribir como:
La multiplicación de los valores proporciona soluciones generales para arcos de cualquier radio. El uso de matrices de rotación permite dibujar cualquier ángulo. [ 13 ]
Las restricciones de las soluciones de Ellsworth pueden aplicarse al caso general y resolverse numéricamente.
Ejemplos
Polibézier cuadrático de ocho segmentos (rojo) que aproxima un círculo (negro) con puntos de control.
Polibézier cúbico de cuatro segmentos (rojo) que aproxima un círculo (negro) con puntos de control.
Otros enfoques
Para curvas de Bézier de grado n > 1, Ahn (2019) proporciona unaaproximación para cualquier número de segmentos. La distancia de Hausdorff, así como la mencionada "deriva radial", muestran 2n - 1 puntos extremos y la aproximación de Ahn es, al momento de la publicación, la que presenta la menor distancia máxima de Hausdorff. Se proporcionan soluciones analíticas explícitas para los casos cuadrático, cúbico y cuártico. [ 14 ]
La aplicación de una transformación afín a las restricciones permite dibujar elipses y arcos elípticos. [ 15 ]
Fuentes
Las fuentes TrueType utilizan curvas de Bézier compuestas por curvas de Bézier cuadráticas (de segundo orden), mientras que la mayoría de las fuentes PostScript Type 1 y OpenType CFF utilizan curvas cúbicas (de tercer orden). Para describir un diseño tipográfico típico como una fuente de ordenador con una precisión determinada, las curvas de Bézier de tercer orden requieren menos datos que las de segundo orden; y estas, a su vez, requieren menos datos que una serie de líneas rectas. Esto es cierto incluso 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, requiera menos datos que cualquier segmento de una curva de tercer orden.
Véase también
Referencias
- ↑ Eugene V. Shikin; Alexander I. Plis (14 de julio de 1995). Manual sobre splines para el usuario . CRC Press. pág. 96. ISBN 978-0-8493-9404-1.
- ↑ API Polybezier de Microsoft
- ↑ Referencia de la API de Papyrus Béziergon
- ↑ "Una caja de crayones mejor" . InfoWorld. 1991.
- ↑ Rebaza, Jorge (24 de abril de 2012). Un primer curso de matemáticas aplicadas . John Wiley & Sons. ISBN 9781118277157.
- ↑ (Empresa), Wolfram Research (13 de septiembre de 1996). Paquetes complementarios estándar de Mathematica ® 3.0 . Cambridge University Press. ISBN 9780521585859.
- ↑ Goodman, TNT (9 de diciembre de 1983). "Propiedades de las β-splines" . Journal of Approximation Theory . 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" .
- 1 2 Stanislav, G. Adam. "Dibujo de un círculo con curvas de Bézier" . Archivado del original el 16 de junio de 2023. Recuperado el 10 de abril de 2010 .
- ↑ "Digitalización de diseños de letras" . Apple . Consultado el 26 de julio de 2014 .
- ↑ Mortensen, Spencer (2012). "Aproximar un círculo con curvas de Bézier cúbicas" . spencermortensen.com .
- ↑ Mortensen, Spencer (2022). "Aproximación por mínimos cuadrados del círculo utilizando curvas de Bézier cúbicas" . spencermortensen.com .
- ↑ DeVeneza, Richard (2004). "Dibujo de un círculo con curvas de Bézier" (PDF) . Consultado el 10 de abril de 2010 .
- ↑ Ahn, Young Joon (octubre de 2019). "Aproximación de círculos mediante curvas de Bézier G 2 de grado n con 2 n − 1 puntos extremos". Journal of Computational and Applied Mathematics . 358 : 20– 28. doi : 10.1016/j.cam.2019.02.037 .
- ↑ Van Aken, Jerry R. (2024). "Dibujo de elipses y arcos elípticos con aproximaciones de curvas de Bézier cúbicas por partes". arXiv : 2407.17675 [ cs.GR ].
- Splines (matemáticas)