Curvas de Bézier Facultad de Cs. de la Computación Juan Carlos Conde Ramírez Computer Graphics
Contenido 1 Introducción 2 Polinomios de Bernstein 3 Curvas de Bézier 4 Curvas Compuestas 1 / 31
Contenido 1 Introducción 2 Polinomios de Bernstein 3 Curvas de Bézier 4 Curvas Compuestas 2 / 31
Meta: Formas complejas a partir de curvas 2D 3 / 31
Interpolación de puntos Se sabe que los polinomios no son buenas herramientas matemáticas para el problema de interpolación. 4 / 31
Spline cúbicos Así que si consideramos un spline cúbico como una posible solución tenemos que: Es una curva interpoladora con poca oscilación. Es una curva constituida por trozos de polinomios de tercer grado Es una curva que si se une entre si con continuidad hasta la segunda derivada puede denir una curva en C 2. 5 / 31
Arcos Polinomiales La idea de unir sucesivamente arcos polinomiales fue propuesta por: Paul de Casteljau (Citroën, 50's, reporte interno) Pierre Bézier (Renault, 60's, Sistema UNISURF ampliamente publicado) Aplicado en la industria automotriz 6 / 31
Arcos Polinomiales En esta parte del curso el primer tipo de curva que estudiaremos son las curvas de Bézier. IDEA La idea subyacente en una curva de Bézier está en considerar una base especial del espacio del polinomio que permite una buena interpretación geométrica de los coecientes de un polinomio cuando se expresan en función de dicha base. 7 / 31
Contenido 1 Introducción 2 Polinomios de Bernstein 3 Curvas de Bézier 4 Curvas Compuestas 8 / 31
Descripción del Polinomio Base de Bernstein ( 1912, Aproximación uniforme a funciones continuas). Consideremos los polinomios (para n jo): ( ) B k = n k x k (1 x) n k con 0 k n (1) donde ( n k) = n! k! (n k)! son los coecientes binomiales Se denominan polinomios de Bernstein y sólo se denen para x [0,1]: 9 / 31
Ejemplos Para n = 1 B 0(x) = 1 x B 1(x) = x Para n = 2 B 0(x) = (1 x) 2 B 1(x) = 2x(1 x) B 2(x) = x 2 10 / 31
Ejemplos Para n = 3 B 0(x) = (1 x) 3 B 1(x) = 3x(1 x) 2 B 2(x) = 3x 2 (1 x) B 3(x) = x 3 11 / 31
Ejemplos Para n = 4 B 0(x) = (1 x) 4 B 1(x) = 4x(1 x) 3 B 2(x) = 6x 2 (1 x) 2 B 3(x) = 4x 3 (1 x) B 4(x) = x 4 12 / 31
Contenido 1 Introducción 2 Polinomios de Bernstein 3 Curvas de Bézier 4 Curvas Compuestas 13 / 31
Curvas de Bézier simples I Cuando un polinomio arbitrario de grado menor o igual que n se expresa como combinación lineal de los polinomios de Bernstein, se denomina curva de Bézier simple o de un tramo. La representación en forma paramétrica es: donde: C(t) = n P k B k x 0 t 1 (2) k=0 P k (x k, y k ) si la curva está en R 2 P k (x k, y k, z k ) si la curva está en R 3 Los coecientes P k se denominan puntos de control de la curva de Bézier. 14 / 31
Curvas de Bézier simples II Para n = 1 C(t) = P 0B 0(t) + P 1B 1(t) = P 0(1 t) + P 1(t) (3) C(0) = P 0 y C(1) = P 1 Por lo tanto C(t) es la recta que une los puntos del plano representados por los coecientes P 0, P 1. 15 / 31
Curvas de Bézier simples III Para n = 2 C(t) = P 0B 0(t) + P 1B 1(t) + P 2B 2(t) = P 0(1 t) 2 + P 12t(1 t) + P 2(t 2 ) (4) Análogamente para t = 0 y t = 1: C(0) = P 0 y C(1) = P 2 Con lo cual C(t) es la curva que interpola el primer y el tercer punto de control, es decir, P 0 y P 2. 16 / 31
Curvas de Bézier simples III ACTIVIDAD 1 Partiendo de la ecuación resultante (4) utiliza los puntos: P 0 = (0, 0) P 1 = (0, 1) P 2 = (1, 1) Para encontrar y gracar los puntos intermedios para: t = 0.15 t = 0.35 t = 0.5 t = 0.65 t = 0.85 Recuerda que para t = 0 y t = 1: C(0) = P 0 y C(1) = P 2 17 / 31
Curvas de Bézier simples IV Si derivamos la Ec. (4): De donde: C (t) = 2(1 t)p 0 + 2(1 2t)P 1 + 2tP 2 C (0) = 2(P 1 P 0) (5) C (1) = 2(P 2 P 1) C (0) y C (1) son respectivamente vectores tangente a la curva C(t) en 0 y en 1, tienen la dirección de los vectores P 1 P 0 y P 2 P 1. La curva C(t) es la tangente a la poligonal que une P 0, P 1, P 2. 18 / 31
Curvas de Bézier simples IV ACTIVIDAD 2 1. Usando las reglas de derivación básicas (suma, resta, producto, división, potencia) DEMOSTRAR que: C (t) = 2(1 t)p 0 + 2(1 2t)P 1 + 2tP 2 dado que: C(t) = P 0(1 t) 2 + P 12t(1 t) + P 2(t 2 ) 2. Sabiendo que de C (t) con t = 0 y t = 1 se obtienen los 2 VECTORES tangentes a la curva obtenida con C(t), GRAFICAR con un color diferente dichos vectores en tu graca obtenida en la actividad anterior. 19 / 31
Curvas de Bézier simples V Para n = 3 C(t) = P 0B 0(t) + P 1B 1(t) + P 2B 2(t) + P 3B 3(t) (6) C(t) = P 0(1 t) 3 + P 13t(1 t) 2 + P 23t 2 (1 t) + P 3(t 3 ) Análogamente para t = 0 y t = 1: C(0) = P 0 y C(1) = P 3 20 / 31
Curvas de Bézier simples VI Es fácil imaginar el efecto de mover alguno de los puntos de control (lo que equivale a cambiar los coecientes de la curva polinomial C(t) respecto de la base de Bernstein. Los polinomios de Bernstein B k (t) cuentan con propiedades importantes en el intervalo [0,1]. Dichas propiedades se transeren a las curvas de Bézier simples. 21 / 31
Curvas de Bézier simples VI Es posible denir una curva de Bézier en cualquier intervalo [a,b] mediante un cambio de variable afín. ( donde t = s a b a C(s) = n k=0 para s = a obtenemos t = 0 para s = b obtenemos t = 1 ( ) s a P k B k b a ), vericamos que 0 t 1 tal que: a s b (7) Es claro que esta curva y la denida en la ecuación (2) son idénticas. Es una reparametrización, aún dejando una curva invariable, no ocurre lo mismo con su derivada (el vector tangente). 22 / 31
Contenido 1 Introducción 2 Polinomios de Bernstein 3 Curvas de Bézier 4 Curvas Compuestas 23 / 31
Curvas de Bézier compuestas I Una curva de Bézier simple es un polinomio (en cada componente) expresado en la base de Bernstein. Presenta importantes propiedades geométricas relacionadas con la forma de la curva con sus coecientes o puntos de control. Sin embargo, algunas deciencias estudiadas en la interpolación lineal se presentan a menudo en su uso: Se requiere un elevado grado de los polinomios para generar formas más complejas Presenta problemas numéricos (oscilación) 24 / 31
Curvas de Bézier compuestas II SOLUCIÓN: pegar sucesivamente varias curvas de Bézier simples de bajo grado (generalmente 2 o 3) para constituir una curva de Bézier compuesta. Consideremos en primer lugar la composición de dos curvas de Bézier desde un punto de vista geométrico. Sean P 0, P 1,...,P n puntos de control para la primera curva y Q 0, Q 1,..., Q n los de la segunda curva, donde n no necesariamente es igual. 25 / 31
Curvas de Bézier compuestas III Por analogía es de suponerse que la primera curva se obtendrá de la interpolación entre P 0 y P n y la segunda entre Q 0 y Q n Por tanto si queremos que la curva compuesta sea continua la condición es: P n = Q 0 (8) La gura muestra que en general la tangente NO será continua en el punto de unión. 26 / 31
Curvas de Bézier compuestas IV Como es de suponerse deseamos que la curva compuesta tenga un cierto grado de suavizado. PROPIEDAD: Vector tangencial a la curva de Bézier en sus puntos extremos está dado por: T 0 = C (0) = n(p 1 P 0) T 1 = C (1) = n(p n P n 1) Geométricamente, lo importante es que el vector tangente a la primera curva en P n tenga la dirección de P n P n 1, mientras que el vector tangente a la segunda curva tenga la dirección Q 1 Q 0 = Q 1 P n. 27 / 31
Curvas de Bézier compuestas V Por lo tanto, una condición necesaria y suciente para que la tangente sea continua entre la unión de dos curvas es que el punto Q 1 debe estar alineado con P n 1 y P n = Q 0. El primer segmento en la poligonal de la segunda curva debe ser la prolongación del último segmento de la poligonal de la primera curva. 28 / 31
Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas Curvas de Bézier compuestas VI OBSERVACIONES: I I La derivada de la suma compuesta no tiene porque ser continua, es decir, la construcción sólo garantiza continuidad de la dirección del vector tangente, pero no del propio vector. Una curva continua en la que la dirección del vector tangente es continua, se dice que posee continuidad geométrica o visual de clase G 1. 29 / 31
Aplicación 30 / 31
"El optimista tiene siempre un proyecto, el pesimista una excusa" [Anónimo] Juan Carlos Conde Ramírez juanc.conde@cs.buap.mx 31 / 31