stringtranslate.com

curva de Bézier

Curva cúbica de Bézier con cuatro puntos de control.
La base funciona en el rango t en [0,1] para curvas de Bézier cúbicas: azul: y = (1 − t ) 3 , verde: y = 3(1 − t ) 2 t , rojo: y = 3(1 − t ) t 2 , y cian: y = t 3 .

Una curva de Bézier ( / ˈ b ɛ z . i . / BEH -zee-ay ) [1] es una curva paramétrica utilizada en gráficos por computadora y campos relacionados. [2] Un conjunto de "puntos de control" discretos define una curva suave y continua mediante una fórmula. Por lo general, la curva pretende aproximarse a una forma del mundo real que de otro modo no tendría representación matemática o cuya representación es desconocida o demasiado complicada. La curva de Bézier lleva el nombre del ingeniero francés Pierre Bézier (1910-1999), quien la utilizó en la década de 1960 para diseñar curvas para la carrocería de los automóviles Renault . [3] Otros usos incluyen el diseño de fuentes informáticas y animación. [3] Las curvas de Bézier se pueden combinar para formar una spline de Bézier , o generalizarse a dimensiones más altas para formar superficies de Bézier . [3] El triángulo de Bézier es un caso especial de este último.

En gráficos vectoriales , las curvas de Bézier se utilizan para modelar curvas suaves que se pueden escalar indefinidamente. Las "trayectorias", como se las denomina comúnmente en los programas de manipulación de imágenes, [nota 1] son ​​combinaciones de curvas de Bézier vinculadas. Las rutas no están sujetas a los límites de las imágenes rasterizadas y su modificación es intuitiva.

Las curvas de Bézier también se utilizan en el dominio del tiempo, particularmente en animación , [4] [nota 2] diseño de interfaz de usuario y suavizado de la trayectoria del cursor en interfaces controladas por la mirada. [5] Por ejemplo, se puede utilizar una curva de Bézier para especificar la velocidad en el tiempo de un objeto, como un icono que se mueve de A a B, en lugar de simplemente moverse a un número fijo de píxeles por paso. Cuando los animadores o diseñadores de interfaces hablan de la "física" o la "sensación" de una operación, pueden estar refiriéndose a la curva de Bézier particular utilizada para controlar la velocidad en el tiempo del movimiento en cuestión.

Esto también se aplica a la robótica, donde el movimiento de un brazo de soldadura, por ejemplo, debe ser suave para evitar un desgaste innecesario.

Invención

La base matemática de las curvas de Bézier (los polinomios de Bernstein ) se estableció en 1912, pero los polinomios no se aplicaron a los gráficos hasta unos 50 años después, cuando el matemático Paul de Casteljau desarrolló en 1959 el algoritmo de De Casteljau , un método numéricamente estable para evaluar las curvas. y se convirtió en el primero en aplicarlos al diseño asistido por ordenador en el fabricante de automóviles francés Citroën . [6] El método de De Casteljau fue patentado en Francia pero no se publicó hasta la década de 1980 [7] mientras que los polinomios de Bézier fueron ampliamente publicitados en la década de 1960 por el ingeniero francés Pierre Bézier , quien los descubrió de forma independiente y los utilizó para diseñar carrocerías de automóviles en Renault .

Casos específicos

Una curva de Bézier está definida por un conjunto de puntos de control P 0 a P n , donde n se denomina orden de la curva ( n = 1 para lineal, 2 para cuadrática, 3 para cúbica, etc.). El primer y último punto de control son siempre los puntos finales de la curva; sin embargo, los puntos de control intermedios generalmente no se encuentran en la curva. Las sumas de las siguientes secciones deben entenderse como combinaciones afines , es decir, los coeficientes suman 1.

Curvas lineales de Bézier

Dados los puntos distintos P 0 y P 1 , una curva de Bézier lineal es simplemente una línea entre esos dos puntos. La curva está dada por

Esta es la más simple y equivale a la interpolación lineal . [8] La cantidad representa el vector de desplazamiento desde el punto inicial hasta el punto final.

Curvas de Bézier cuadráticas

Béziers cuadrático en arte de cuerdas : Los puntos finales ( ) y el punto de control ( × ) definen la curva de Bézier cuadrática ( ).

Una curva de Bézier cuadrática es el camino recorrido por la función B ( t ), dados los puntos P 0 , P 1 y P 2 ,

,

que puede interpretarse como la interpolación lineal de los puntos correspondientes en las curvas lineales de Bézier de P 0 a P 1 y de P 1 a P 2 respectivamente. Reordenando la ecuación anterior se obtiene:

Esto se puede escribir de una manera que resalte la simetría con respecto a P 1 :

Lo que da inmediatamente la derivada de la curva de Bézier con respecto a t :

de lo cual se puede concluir que las tangentes a la curva en P 0 y P 2 se cortan en P 1 . A medida que t aumenta de 0 a 1, la curva sale de P 0 en la dirección de P 1 y luego se dobla para llegar a P 2 desde la dirección de P 1 .

La segunda derivada de la curva de Bézier con respecto a t es

Curvas de Bézier cúbicas

Cuatro puntos P 0 , P 1 , P 2 y P 3 en el plano o en un espacio de dimensiones superiores definen una curva de Bézier cúbica. La curva comienza en P 0 yendo hacia P 1 y llega a P 3 viniendo de la dirección de P 2 . Normalmente , no pasará por P1 o P2 ; Estos puntos sólo están ahí para proporcionar información direccional. La distancia entre P 1 y P 2 determina "qué tan lejos" y "qué tan rápido" se mueve la curva hacia P 1 antes de girar hacia P 2 .

Escribiendo B P i , P j , P k ( t ) para la curva de Bézier cuadrática definida por los puntos P i , P j y P k , la curva de Bézier cúbica se puede definir como una combinación afín de dos curvas de Bézier cuadráticas:

La forma explícita de la curva es:

Para algunas opciones de P 1 y P 2 , la curva puede intersectarse a sí misma o contener una cúspide .

Cualquier serie de 4 puntos distintos se puede convertir en una curva de Bézier cúbica que pasa por los 4 puntos en orden. Dados los puntos inicial y final de alguna curva de Bézier cúbica y los puntos a lo largo de la curva correspondientes a t  = 1/3 y t  = 2/3, se pueden recuperar los puntos de control de la curva de Bézier original. [9]

La derivada de la curva de Bézier cúbica con respecto a t es

La segunda derivada de la curva de Bézier con respecto a t es

Definición general

Las curvas de Bézier se pueden definir para cualquier grado n .

Definición recursiva

Una definición recursiva de la curva de Bézier de grado n la expresa como una combinación lineal punto a punto ( interpolación lineal ) de un par de puntos correspondientes en dos curvas de Bézier de grado n  − 1.

Denotemos la curva de Bézier determinada por cualquier selección de puntos P 0 , P 1 , ...,  P k . Entonces para empezar,

Esta recursividad se aclara en las animaciones siguientes.

Definición explícita

La fórmula se puede expresar explícitamente de la siguiente manera (donde t 0 y (1-t) 0 se extienden continuamente para ser 1 en [0,1]):

¿Dónde están los coeficientes binomiales ?

Por ejemplo, cuando n  = 5:

Terminología

Alguna terminología está asociada con estas curvas paramétricas. Tenemos

donde los polinomios

se conocen como polinomios de base de Bernstein de grado n .

t 0  = 1, (1 −  t ) 0  = 1, y el coeficiente binomial , , es:

Los puntos Pi se denominan puntos de control de la curva de Bézier. El polígono formado conectando los puntos de Bézier con rectas , comenzando por P 0 y terminando por P n , se llama polígono de Bézier (o polígono de control ). El casco convexo del polígono de Bézier contiene la curva de Bézier.

Forma polinómica

A veces es deseable expresar la curva de Bézier como un polinomio en lugar de una suma de polinomios de Bernstein menos sencillos . La aplicación del teorema del binomio a la definición de la curva seguida de algún reordenamiento producirá

dónde

Esto podría resultar práctico si se puede calcular antes de muchas evaluaciones de ; sin embargo, se debe tener cuidado ya que las curvas de alto orden pueden carecer de estabilidad numérica ( si esto ocurre, se debe utilizar el algoritmo de De Casteljau ). Tenga en cuenta que el producto vacío es 1.

Propiedades

Una curva de Bézier cúbica (amarilla) se puede hacer idéntica a una cuadrática (negra) mediante
1. copiar los puntos finales, y
2. colocando sus 2 puntos de control medios (círculos amarillos) 2/3 a lo largo de segmentos de línea desde los puntos finales hasta el punto de control medio de la curva cuadrática (rectángulo negro).

La curva de segundo orden es un segmento parabólico.

Equivalencia de una curva de Bézier cuadrática y un segmento parabólico

Una curva de Bézier cuadrática también es un segmento de una parábola . Como una parábola es una sección cónica , algunas fuentes se refieren a los Béziers cuadráticos como "arcos cónicos". [12] Con referencia a la figura de la derecha, las características importantes de la parábola se pueden derivar de la siguiente manera: [13]

  1. Las tangentes a la parábola en los puntos finales de la curva (A y B) se cruzan en su punto de control (C).
  2. Si D es el punto medio de AB, la tangente a la curva que es perpendicular a CD (línea cian discontinua) define su vértice (V). Su eje de simetría (rayón-punto cian) pasa por V y es perpendicular a la tangente.
  3. E es cualquier punto de la curva con una tangente a 45° con respecto a CD (discontinua verde). Si G es la intersección de esta tangente y el eje, la recta que pasa por G y es perpendicular a CD es la directriz (verde sólido).
  4. El foco (F) está en la intersección del eje y una línea que pasa por E y es perpendicular a CD (punteado amarillo). El lado recto es el segmento de línea dentro de la curva (amarillo sólido).

Derivado

La derivada de una curva de orden n es

Construyendo curvas de Bézier

Curvas lineales

Sea t la fracción de progreso (de 0 a 1) que ha realizado el punto B ( t ) a lo largo de su recorrido de P 0 a P 1 . Por ejemplo, cuando t = 0,25, B ( t ) está a un cuarto del camino desde el punto P 0 al P 1 . Como t varía de 0 a 1, B ( t ) traza una línea de P 0 a P 1 .

Curvas cuadráticas

Para curvas cuadráticas de Bézier se pueden construir puntos intermedios Q 0 y Q 1 tales que cuando t varía de 0 a 1:

Curvas de orden superior

Para curvas de orden superior se necesitan correspondientemente más puntos intermedios. Para curvas cúbicas se pueden construir puntos intermedios Q 0 , Q 1 y Q 2 que describen curvas de Bézier lineales, y puntos R 0 y R 1 que describen curvas de Bézier cuadráticas:

Para curvas de cuarto orden se pueden construir puntos intermedios Q 0 , Q 1 , Q 2 y Q 3 que describen curvas de Bézier lineales, puntos R 0 , R 1 y R 2 que describen curvas de Bézier cuadráticas y puntos S 0 y S 1 que describir curvas cúbicas de Bézier:

Para curvas de quinto orden, se pueden construir puntos intermedios similares.

Estas representaciones se basan en el proceso utilizado en el algoritmo de De Casteljau para calcular las curvas de Bézier. [14]

Desplazamientos (o trazos) de curvas de Bézier

La curva en un desplazamiento fijo de una curva de Bézier determinada, llamada curva desplazada o paralela en matemáticas (que se encuentra "paralela" a la curva original, como el desplazamiento entre rieles en una vía de ferrocarril ), no puede formarse exactamente mediante una curva de Bézier ( excepto en algunos casos triviales). En general, la curva de desplazamiento de dos lados de un Bézier cúbico es una curva algebraica de décimo orden [15] y, de manera más general, para un Bézier de grado n , la curva de desplazamiento de dos lados es una curva algebraica de grado 4 n  - 2. [ 16] Sin embargo, existen métodos heurísticos que suelen dar una aproximación adecuada a efectos prácticos. [17]

En el campo de los gráficos vectoriales , pintar dos curvas desplazadas simétricamente distanciadas se llama trazo (la curva de Bézier o en general un camino de varios segmentos de Bézier). [15] La conversión de curvas desplazadas a contornos Bézier rellenos es de importancia práctica al convertir fuentes definidas en Metafont , que requieren el trazo de curvas Bézier, a las fuentes PostScript tipo 1 más utilizadas , que solo requieren (por motivos de eficiencia) la configuración matemática. Operación más simple de rellenar un contorno definido por curvas de Bézier (que no se intersecan). [18]

Elevación de grados

Una curva de Bézier de grado n se puede convertir en una curva de Bézier de grado n  +1 con la misma forma . Esto es útil si el software admite curvas de Bézier sólo de un grado específico. Por ejemplo, los sistemas que sólo pueden funcionar con curvas de Bézier cúbicas pueden funcionar implícitamente con curvas cuadráticas utilizando su representación cúbica equivalente.

Para hacer la elevación de grados, usamos la igualdad. Cada componente se multiplica por (1 −  t ) y  t , aumentando así un grado en uno, sin cambiar el valor. Aquí está el ejemplo de grado creciente de 2 a 3.

En otras palabras, los puntos de inicio y fin originales no cambian. Los nuevos puntos de control son y .

Para n arbitraria usamos igualdades [19]

Por lo tanto:

introduciendo arbitrario y .

Por lo tanto, se crean nuevos puntos de control [19]

Elevación de grados repetida

El concepto de grado de elevación se puede repetir en un polígono de control R para obtener una secuencia de polígonos de control R , R1 , R2 , etc. Después de elevaciones de r grados, el polígono R r tiene los vértices P 0, r , P 1, r , P 2, r , ..., P n + r , r dado por [19]

También se puede demostrar que para la curva de Bézier subyacente B ,

Reducción de grado

La reducción de grados sólo se puede realizar exactamente cuando la curva en cuestión se eleva originalmente desde un grado inferior. [20] Se han propuesto y utilizado en la práctica varios algoritmos de aproximación. [21] [22]

Curvas racionales de Bézier

Segmentos de secciones cónicas representados exactamente por curvas racionales de Bézier.

La curva racional de Bézier agrega pesos ajustables para proporcionar aproximaciones más cercanas a formas arbitrarias. El numerador es una curva de Bézier ponderada en forma de Bernstein y el denominador es una suma ponderada de polinomios de Bernstein . Las curvas racionales de Bézier se pueden utilizar, entre otros usos, para representar exactamente segmentos de secciones cónicas , incluidos arcos circulares. [23]

Dados n  + 1 puntos de control P 0 , ..., P n , la curva racional de Bézier puede describirse mediante

o simplemente

La expresión se puede ampliar utilizando sistemas numéricos además de reales para los pesos. En el plano complejo, los puntos {1}, {-1} y {1} con pesos { }, {1} y { } generan un círculo completo con radio uno. Para curvas con puntos y pesos en un círculo, los pesos se pueden escalar sin cambiar la forma de la curva. [24] Escalar el peso central de la curva anterior en 1,35508 proporciona una parametrización más uniforme.

Aplicaciones

Gráficos de computadora

Ruta de Bézier en Adobe Illustrator

Las curvas de Bézier se utilizan ampliamente en gráficos por computadora para modelar curvas suaves. Como la curva está completamente contenida en el casco convexo de sus puntos de control , los puntos se pueden mostrar gráficamente y utilizar para manipular la curva de forma intuitiva. Se pueden aplicar transformaciones afines , como traslación y rotación, en la curva aplicando la transformación respectiva en los puntos de control de la curva.

Las curvas de Bézier cuadrática y cúbica son las más comunes. Las curvas de grados más altos son más costosas desde el punto de vista computacional de evaluar. Cuando se necesitan formas más complejas, las curvas de Bézier de orden bajo se unen, produciendo una curva de Bézier compuesta . Una curva de Bézier compuesta se denomina comúnmente "ruta" en lenguajes de gráficos vectoriales (como PostScript ), estándares de gráficos vectoriales (como SVG ) y programas de gráficos vectoriales (como Artline , Timeworks Publisher , Adobe Illustrator , CorelDraw , Inkscape y Allegro ). . Para unir curvas de Bézier en una curva de Bézier compuesta sin torceduras, una propiedad llamada continuidad G1 es suficiente para forzar que el punto de control en el que se encuentran dos curvas de Bézier constituyentes se encuentre en la línea definida por los dos puntos de control a cada lado.

Composición abstracta de curvas cúbicas de Bézier con trazado de rayos en 3D. La intersección de rayos con volúmenes barridos a lo largo de curvas se calcula con el algoritmo Phantom Ray-Hair Intersector. [25]

El método más simple para convertir por escaneo ( rasterizar ) una curva de Bézier es evaluarla en muchos puntos estrechamente espaciados y convertir por escaneo la secuencia aproximada de segmentos de línea. Sin embargo, esto no garantiza que la salida rasterizada se vea lo suficientemente suave, porque los puntos pueden estar demasiado separados. Por el contrario, puede generar demasiados puntos en áreas donde la curva es casi lineal. Un método adaptativo común es la subdivisión recursiva, en la que se verifican los puntos de control de una curva para ver si la curva se aproxima a una línea dentro de una pequeña tolerancia. En caso contrario, la curva se subdivide paramétricamente en dos segmentos, 0 ≤ t ≤ 0,5 y 0,5 ≤ t ≤ 1, y se aplica el mismo procedimiento de forma recursiva a cada mitad. También existen métodos de diferenciación directa, pero se debe tener mucho cuidado al analizar la propagación de errores. [26]

Los métodos analíticos en los que un Bézier se cruza con cada línea de exploración implican encontrar raíces de polinomios cúbicos (para Béziers cúbicos) y tratar con múltiples raíces, por lo que no se utilizan con frecuencia en la práctica. [26]

El algoritmo de rasterización utilizado en Metafont se basa en discretizar la curva, de modo que se aproxima mediante una secuencia de " movimientos de torre " que son puramente verticales o puramente horizontales, a lo largo de los límites de los píxeles. Para ello, primero se divide el plano en ocho sectores de 45° (por los ejes de coordenadas y las dos líneas ), luego la curva se descompone en segmentos más pequeños de modo que la dirección de un segmento de curva permanezca dentro de un sector; Dado que la velocidad de la curva es un polinomio de segundo grado, se pueden encontrar los valores donde es paralela a una de estas líneas resolviendo ecuaciones cuadráticas . Dentro de cada segmento, domina el movimiento horizontal o vertical, y el número total de pasos en cualquier dirección se puede leer en las coordenadas del punto final; por ejemplo, en el sector 0-45° domina el movimiento horizontal hacia la derecha, por lo que sólo queda decidir entre qué pasos hacia la derecha la curva debe dar un paso hacia arriba. [27]

También hay una forma de curva modificada del algoritmo de dibujo lineal de Bresenham de Zingl que realiza esta rasterización subdividiendo la curva en partes racionales y calculando el error en cada ubicación de píxel de manera que viaje en un ángulo de 45° o en línea recta dependiendo del error compuesto como itera a través de la curva. Esto reduce el cálculo del siguiente paso a una serie de sumas y restas de números enteros . [28]

Animación

En aplicaciones de animación, como Adobe Flash y Synfig , las curvas de Bézier se utilizan para delinear, por ejemplo, el movimiento. Los usuarios delinean el camino deseado en curvas de Bézier y la aplicación crea los marcos necesarios para que el objeto se mueva a lo largo del camino. [29] [30]

En la animación 3D, las curvas de Bézier se utilizan a menudo para definir trazados 3D, así como curvas 2D para la interpolación de fotogramas clave. [31] Las curvas de Bézier ahora se usan con mucha frecuencia para controlar la animación en CSS , JavaScript , JavaFx y Flutter SDK . [4]

Fuentes

Las fuentes TrueType utilizan curvas Bézier compuestas de curvas Bézier cuadráticas . Otros lenguajes y herramientas de imágenes (como PostScript , Asymptote , Metafont y SVG ) utilizan Béziers compuestos compuestos por curvas de Bézier cúbicas para dibujar formas curvas. Las fuentes OpenType pueden utilizar cualquier tipo de curva, dependiendo de qué tecnología de fuente subyace al contenedor OpenType. [32]

Los motores de fuentes, como FreeType , dibujan las curvas (y líneas) de la fuente en una superficie pixelada mediante un proceso conocido como rasterización de fuentes . [12] Normalmente, los motores de fuentes y los motores de gráficos vectoriales representan curvas de Bézier dividiéndolas recursivamente hasta el punto en que la curva es lo suficientemente plana como para dibujarla como una serie de segmentos lineales o circulares. El algoritmo de división exacto depende de la implementación, solo se deben respetar los criterios de planitud para alcanzar la precisión necesaria y evitar cambios de curvatura locales no monótonos. La característica de "curva suave" de los gráficos en Microsoft Excel también utiliza este algoritmo. [33]

Debido a que los arcos de círculos y elipses no pueden representarse exactamente mediante curvas de Bézier, primero se aproximan mediante curvas de Bézier, que a su vez se aproximan mediante arcos de círculo. Esto es ineficiente ya que también existen aproximaciones de todas las curvas de Bézier utilizando arcos de círculo o elipses, que pueden representarse incrementalmente con precisión arbitraria. Otro enfoque, utilizado por los adaptadores gráficos de hardware modernos con geometría acelerada, puede convertir exactamente todas las curvas (o superficies) cónicas y Bézier en NURBS , que se pueden renderizar de forma incremental sin dividir primero la curva de forma recursiva para alcanzar la condición de planitud necesaria. Este enfoque también conserva la definición de la curva en todas las transformaciones y proyecciones lineales o en perspectiva 2D y 3D. [ cita necesaria ]

Robótica

Debido a que el polígono de control permite saber si el camino choca o no con algún obstáculo, las curvas de Bézier se utilizan para producir trayectorias de los efectores finales . [34] Además, las trayectorias del espacio articular se pueden diferenciar con precisión utilizando curvas de Bézier. En consecuencia, las derivadas de las trayectorias del espacio articular se utilizan en el cálculo de la dinámica y el esfuerzo de control (perfiles de par) del manipulador robótico. [34]

Ver también

Notas

  1. ^ Programas de manipulación de imágenes como Inkscape , Adobe Photoshop y GIMP .
  2. ^ En aplicaciones de animación como Adobe Flash , Adobe After Effects , Microsoft Expression Blend , Blender , Autodesk Maya y Autodesk 3ds Max .

Referencias

Citas

  1. ^ Wells, John (3 de abril de 2008). Diccionario de pronunciación Longman (3ª ed.). Pearson Longman. ISBN 978-1-4058-8118-0.
  2. ^ Mortenson, Michael E. (1999). Matemáticas para aplicaciones de gráficos por computadora. Prensa industrial Inc. pág. 264.ISBN 9780831131111.
  3. ^ a b C Hazewinkel, Michiel (1997). Enciclopedia de Matemáticas: Suplemento. vol. 1. Medios científicos y comerciales de Springer. pag. 119.ISBN 9780792347095.
  4. ^ ab "Clase cúbica - biblioteca de animación - API de Dart". api.flutter.dev . Consultado el 26 de abril de 2021 .
  5. ^ Biswas, Pradipta; Langdon, Pat (3 de abril de 2015). "Sistema de seguimiento inteligente multimodal de la mirada". Revista internacional de interacción persona-computadora . 31 (4): 277–294. doi :10.1080/10447318.2014.1001301. ISSN  1044-7318. S2CID  36347027.
  6. ^ Gerald E. Farín; Josef Hoschek; Myung Soo Kim (2002). Manual de diseño geométrico asistido por computadora. Elsevier. págs. 4–6. ISBN 978-0-444-51104-1.
  7. ^ Pablo de Casteljau. Mathématiques y CAO. Tomo 2: Formes à pôles . ISBN 9782866010423.
  8. ^ Mario A. Gutiérrez; Frédéric Vexo; Daniel Thalmann (2023). Un paso hacia la Realidad Virtual. Naturaleza Springer. pag. 33.ISBN 9783031364877.
  9. ^ John Burkardt. "Forzar la interpolación de Bézier". Archivado desde el original el 25 de diciembre de 2013.
  10. ^ Teófilo González ; Jorge Díaz-Herrera; Allen Tucker (2014). Manual de informática, tercera edición: informática e ingeniería de software. Prensa CRC. página 32-14. ISBN 978-1-4398-9852-9.
  11. ^ Max K. Agoston (2005). Gráficos por computadora y modelado geométrico: implementación y algoritmos. Medios de ciencia y negocios de Springer. pag. 404.ISBN 978-1-84628-108-2.
  12. ^ ab "Convenciones de glifos FreeType / VI. Esquemas de FreeType". El proyecto de tipo libre . 13 de febrero de 2018.
    "Convenciones de glifos de FreeType - Versión 2.1 / VI. Esquemas de FreeType". 6 de marzo de 2011. Archivado desde el original el 29 de septiembre de 2011.
  13. ^ Pantano de Duncan (2005). Geometría Aplicada a Computación Gráfica y CAD . Serie de matemáticas de pregrado de Springer (2ª ed.). ISBN 978-1-85233-801-5. COMO EN  1852338016.
  14. ^ Shene, CK "Encontrar un punto en una curva de Bézier: algoritmo de De Casteljau" . Consultado el 6 de septiembre de 2012 .
  15. ^ ab Mark Kilgard (10 de abril de 2012). "Representación de rutas y gráficos vectoriales CS 354". pag. 28.
  16. ^ Rida T. Farouki. "Introducción a las curvas pitagóricas-hodógrafas" (PDF) . Archivado desde el original (PDF) el 5 de junio de 2015., particularmente pág. 16 "taxonomía de curvas compensadas".
  17. ^ Por ejemplo:
    • Ostromoukhov, Víctor. Aproximación de Hermite para el cálculo de curvas de compensación (PDF) . CiteSeerX  10.1.1.43.1724 .
    • Kilgard, Mark J.; Moreton, Henry Packard (24 de noviembre de 2011). "US20110285719A1 Aproximación de segmentos curvos de orden superior trazados por segmentos de curva de Bèzier cuadráticos". Patentes de Google .
    Para un estudio, véase Elber, G. (mayo de 1997). "Comparación de métodos de aproximación de curvas de compensación" (PDF) . Aplicaciones y gráficos por computadora IEEE . 17 (3): 62–71. doi : 10.1109/38.586019.
  18. ^ Richard J. Kinch (1995). "MetaFog: conversión de formas de Metafont en contornos" (PDF) . Remolcador . 16 (3 – Actas de la reunión anual de 1995). Archivado (PDF) desde el original el 9 de octubre de 2022.
  19. ^ abc Farin, Gerald (1997). Curvas y superficies para diseño geométrico asistido por computadora (4 ed.). Libros de ciencia y tecnología de Elsevier . ISBN 978-0-12-249054-5.
  20. ^ "Splines de Bézier". Documentación de FontForge 20230101 .
  21. ^ Eck, Matthias (agosto de 1993). "Reducción de grados de las curvas de Bézier". Diseño Geométrico Asistido por Computadora . 10 (3–4): 237–251. doi :10.1016/0167-8396(93)90039-6.
  22. ^ Rababa, Abedallah; Ibrahim, Salisu (2018). "Reducción de grados geométricos de curvas de Bézier". Matemáticas y Computación . 253 : 87–95. doi :10.1007/978-981-13-2095-8_8.
  23. ^ Neil Dodgson (25 de septiembre de 2000). "Algunos elementos matemáticos de los gráficos: B-splines racionales" . Consultado el 23 de febrero de 2009 .
  24. ^ J. Sánchez-Reyes (noviembre de 2009). "Curvas de Bézier racionales complejas". Diseño Geométrico Asistido por Computadora . 26 (8): 865–876. doi :10.1016/j.cagd.2009.06.003.
  25. ^ Alexander Reshetov y David Luebke, Intersector Phantom Ray-Hair. En Actas de la ACM sobre gráficos por computadora y técnicas interactivas (1 de agosto de 2018). [1]
  26. ^ ab Xuexiang Li y Junxiao Xue. "Curva de Bézier cuadrática compleja en círculo unitario". Zhengzhou, China: Escuela de Software, Universidad de Zhengzhou.
  27. ^ Partes 19 a 22 de Knuth, Donald E. (1986). Metafuente: El Programa . Addison-Wesley. ISBN 0-201-13438-1.
  28. ^ Zingl, Alois (2012). Un algoritmo de rasterización para dibujar curvas (PDF) (Reporte).
    Resumen y demostración de HTML: Zingl, Alois (2016). "Bresenham". miembros.chello.at .
  29. ^ "Uso de rutas de movimiento en animaciones". Adobe . Consultado el 11 de abril de 2019 .
  30. ^ "Siguiendo una spline". Wiki Synfig . Consultado el 11 de abril de 2019 .
  31. ^ Dodgson, Neil A. (1999). "Notas de la conferencia sobre gráficos avanzados" (PDF) . cl.cam.ac.uk. ​Laboratorio de Computación de la Universidad de Cambridge. Archivado (PDF) desde el original el 9 de octubre de 2022.
  32. ^ "La diferencia entre CFF y TTF". Saber cómo . Linotipo. Archivado desde el original el 3 de julio de 2017 . Consultado el 3 de julio de 2018 . El formato OpenType se formuló en 1996. En 2003, comenzó a reemplazar dos formatos competidores: las fuentes Type1, desarrolladas por Adobe y basadas en [P]ost[S]cript, y las fuentes TrueType, especificadas por Microsoft y Apple. (...) TTF significa TrueTypeFont e indica que los datos de la fuente son los mismos que en las fuentes TrueType. CFF significa formato de fuente Type1. En sentido estricto, se refiere al formato de fuente compacto, que se utiliza en los procesos de compresión de las fuentes Type2. (...) el formato Bézier cúbico de las fuentes Type1 ahorra más espacio en comparación con el formato cuadrático de las fuentes TrueType. Algunos kilobytes se pueden guardar en fuentes grandes y elaboradas, lo que puede representar una ventaja en la Web. Por otro lado, la información de sugerencias más detallada de las fuentes TrueType es útil para una optimización muy amplia del uso de la pantalla.
  33. ^ "smooth_curve_bezier_example_file.xls". Análisis de maquinaria rotativa, Inc. Archivado desde el original el 18 de julio de 2011 . Consultado el 5 de febrero de 2011 .
  34. ^ ab Malik, Aryslan; Henderson, Troya; Prazenica, Richard (enero de 2021). "Generación de trayectoria para un sistema robótico multicuerpo utilizando el producto de formulación exponencial". Foro AIAA Scitech 2021 : 2016. doi : 10.2514/6.2021-2016. ISBN 978-1-62410-609-5. S2CID  234251587.
  35. ^ Bruto, Renan (2014). "Puentes, arte con cuerdas y curvas de Bézier". En Pitici, Mircea (ed.). Los mejores escritos sobre matemáticas 2013 . Prensa de la Universidad de Princeton. págs. 77–89. doi :10.1515/9781400847990-011. ISBN 9780691160412. JSTOR  j.ctt4cgb74.13.

Fuentes

Otras lecturas

enlaces externos

Codigo de computadora