curvas de bézier -...

32

Upload: phungdung

Post on 04-Nov-2018

262 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier

Facultad de Cs. de la Computación

Juan Carlos Conde Ramírez

Computer Graphics

Page 2: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Contenido

1 Introducción

2 Polinomios de Bernstein

3 Curvas de Bézier

4 Curvas Compuestas

1 / 31

Page 3: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Contenido

1 Introducción

2 Polinomios de Bernstein

3 Curvas de Bézier

4 Curvas Compuestas

2 / 31

Page 4: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Meta: Formas complejas a partir de curvas 2D

3 / 31

Page 5: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Interpolación de puntos

Se sabe que los polinomios no son buenas herramientas matemáticas para elproblema de interpolación.

4 / 31

Page 6: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Spline cúbicos

Así que si consideramos un spline cúbico como una posible solución tenemosque:

I Es una curva interpoladora con poca oscilación.

I Es una curva constituida por trozos de polinomios de tercer grado

I Es una curva que si se une entre si con continuidad hasta la segundaderivada puede de�nir una curva en C 2.

5 / 31

Page 7: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Arcos Polinomiales

La idea de unir sucesivamente arcos polinomiales fue propuesta por:

I Paul de Casteljau (Citroën, 50's, reporte interno)

I Pierre Bézier (Renault, 60's, Sistema UNISURF ampliamente publicado)

I Aplicado en la industria automotriz

6 / 31

Page 8: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Arcos Polinomiales

En esta parte del curso el primer tipo de curva que estudiaremos son las curvasde Bézier.

IDEA

La idea subyacente en una curva de Bézier está en considerar una base especialdel espacio del polinomio que permite una buena interpretación geométrica delos coe�cientes de un polinomio cuando se expresan en función de dicha base.

7 / 31

Page 9: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Contenido

1 Introducción

2 Polinomios de Bernstein

3 Curvas de Bézier

4 Curvas Compuestas

8 / 31

Page 10: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Descripción del Polinomio

Base de Bernstein (≈ 1912, Aproximación uniforme a funciones continuas).

Consideremos los polinomios (para n �jo):

Bk =

(n

k

)xk · (1− x)n−kcon 0 ≤ k ≤ n (1)

donde(nk

)= n!

k!·(n−k)!son los coe�cientes binomiales

Se denominan polinomios de Bernstein y sólo se de�nen para x ∈ [0,1]:

9 / 31

Page 11: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Ejemplos

Para n = 1

B0(x) = 1− xB1(x) = x

Para n = 2

B0(x) = (1− x)2

B1(x) = 2x(1− x)B2(x) = x2

10 / 31

Page 12: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Ejemplos

Para n = 3

B0(x) = (1− x)3

B1(x) = 3x(1− x)2

B2(x) = 3x2(1− x)B3(x) = x3

11 / 31

Page 13: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Ejemplos

Para n = 4

B0(x) = (1− x)4

B1(x) = 4x(1− x)3

B2(x) = 6x2(1− x)2

B3(x) = 4x3(1− x)B4(x) = x4

12 / 31

Page 14: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Contenido

1 Introducción

2 Polinomios de Bernstein

3 Curvas de Bézier

4 Curvas Compuestas

13 / 31

Page 15: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples I

Cuando un polinomio arbitrario de grado menor o igual que n se expresa comocombinación lineal de los polinomios de Bernstein, se denomina curva de Béziersimple o de un tramo.

La representación en forma paramétrica es:

C(t) =n∑

k=0

PkBkx 0 ≤ t ≤ 1 (2)

donde:

Pk ≡ (xk , yk) si la curva está en <2Pk ≡ (xk , yk , zk) si la curva está en <3

Los coe�cientes Pk se denominan puntos de control de la curva de Bézier.

14 / 31

Page 16: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples II

Para n = 1

C(t) = P0B0(t) + P1B1(t) = P0(1− t) + P1(t) (3)

C(0) = P0 y C(1) = P1

Por lo tanto C(t) es la recta que une los puntos del plano representados por loscoe�cientes P0, P1.

15 / 31

Page 17: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples III

Para n = 2

C(t) = P0B0(t)+P1B1(t)+P2B2(t) = P0(1− t)2+P12t(1− t)+P2(t2) (4)

Análogamente para t = 0 y t = 1:

C(0) = P0 y C(1) = P2

Con lo cual C(t) es la curva que interpola el primer y el tercer punto de control,es decir, P0 y P2.

16 / 31

Page 18: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples III

ACTIVIDAD 1

Partiendo de la ecuación resultante (4) utiliza los puntos:

P0 = (0, 0)P1 = (0, 1)P2 = (1, 1)

Para encontrar y gra�car los puntos intermedios para:

t = 0.15t = 0.35t = 0.5t = 0.65t = 0.85

Recuerda que para t = 0 y t = 1:

C(0) = P0 y C(1) = P2

17 / 31

Page 19: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples IV

Si derivamos la Ec. (4):

C ′(t) = −2(1− t)P0 + 2(1− 2t)P1 + 2tP2

De donde:

C ′(0) = 2(P1 − P0) (5)

C ′(1) = 2(P2 − P1)

C ′(0) y C ′(1) son respectivamente vectores tangente a la curva C(t) en 0 y en1, tienen la dirección de los vectores P1 − P0 y P2 − P1. La curva C(t) es latangente a la poligonal que une P0, P1 , P2.

18 / 31

Page 20: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

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)P0 + 2(1− 2t)P1 + 2tP2

dado que:

C(t) = P0(1− t)2 + P12t(1− t) + P2(t2)

2. Sabiendo que de C ′(t) con t = 0 y t = 1 se obtienen los 2 VECTOREStangentes a la curva obtenida con C(t), GRAFICAR con un color diferentedichos vectores en tu gra�ca obtenida en la actividad anterior.

19 / 31

Page 21: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples V

Para n = 3

C(t) = P0B0(t) + P1B1(t) + P2B2(t) + P3B3(t) (6)

C(t) = P0(1− t)3 + P13t(1− t)2 + P23t2(1− t) + P3(t3)

Análogamente para t = 0 y t = 1:

C(0) = P0 y C(1) = P3

20 / 31

Page 22: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples VI

I Es fácil imaginar el efecto de mover alguno de los puntos de control (loque equivale a cambiar los coe�cientes de la curva polinomial C(t)respecto de la base de Bernstein.

I Los polinomios de Bernstein Bk(t) cuentan con propiedades importantesen el intervalo [0,1].

I Dichas propiedades se trans�eren a las curvas de Bézier simples.

21 / 31

Page 23: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier simples VI

I Es posible de�nir una curva de Bézier en cualquier intervalo [a,b] medianteun cambio de variable afín.

~C(s) =n∑

k=0

PkBk

(s − a

b − a

)a ≤ s ≤ b (7)

I donde t =(

s−ab−a

), veri�camos que 0 ≤ t ≤ 1 tal que:

para s = a obtenemos t = 0para s = b obtenemos t = 1

I Es claro que esta curva y la de�nida en la ecuación (2) son idénticas. Esuna reparametrización, aún dejando una curva invariable, no ocurre lomismo con su derivada (el vector tangente).

22 / 31

Page 24: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Contenido

1 Introducción

2 Polinomios de Bernstein

3 Curvas de Bézier

4 Curvas Compuestas

23 / 31

Page 25: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier compuestas I

Una curva de Bézier simple es un polinomio (en cada componente) expresadoen la base de Bernstein.

Presenta importantes propiedades geométricas relacionadas con la forma de lacurva con sus coe�cientes o puntos de control.

Sin embargo, algunas de�ciencias estudiadas en la interpolación lineal se pre-sentan 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

Page 26: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

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.

I Consideremos en primer lugar la composición de dos curvas de Bézierdesde un punto de vista geométrico.

I Sean P0, P1,... ,Pn puntos de control para la primera curva y Q0, Q1,... ,Qn los de la segunda curva, donde n no necesariamente es igual.

25 / 31

Page 27: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier compuestas III

Por analogía es de suponerse que la primera curva se obtendrá de la interpolaciónentre P0 y Pn y la segunda entre Q0 y Qn

Por tanto si queremos que la curva compuesta sea continua la condición es:

Pn = Q0 (8)

La �gura muestra que en general la tangente NO será continua en el punto deunión.

26 / 31

Page 28: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier compuestas IV

Como es de suponerse deseamos que la curva compuesta tenga un cierto gradode suavizado.

PROPIEDAD: Vector tangencial a la curva de Bézier en sus puntos extremosestá dado por:

~T0 = C ′(0) = n(P1 − P0)~T1 = C ′(1) = n(Pn − Pn−1)

Geométricamente, lo importante es que el vector tangente a la primera curva enPn tenga la dirección de Pn−Pn−1, mientras que el vector tangente a la segundacurva tenga la dirección Q1 − Q0 = Q1 − Pn.

27 / 31

Page 29: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier compuestas V

Por lo tanto, una condición necesaria y su�ciente para que la tangente sea

continua entre la unión de dos curvas es que el punto Q1 debe estar alineadocon Pn−1 y Pn = Q0.

El primer segmento en la poligonal de la segunda curva debe ser la prolongacióndel último segmento de la poligonal de la primera curva.

28 / 31

Page 30: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Curvas de Bézier compuestas VI

OBSERVACIONES:

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 vectortangente, pero no del propio vector.

I 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

Page 31: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

Aplicación

30 / 31

Page 32: Curvas de Bézier - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/Graficacion_/Notas/10... · Introducción oPlinomios de Bernstein Curvas de Bézier Curvas Compuestas

Introducción Polinomios de Bernstein Curvas de Bézier Curvas Compuestas

�"El optimista tiene siempre un proyecto, el pesimistauna excusa"�

[Anónimo]

Juan Carlos Conde Ramí[email protected]

31 / 31