Curvas en opengl

Páginas: 10 (2347 palabras) Publicado: 14 de septiembre de 2013
Curvas y superficies
de Bé i
d Bézier
Abraham Sánchez López
FCC/BUAP

Introducción
Recordemos que los polinomios no son buenas herramientas matemáticas
para el problema de interpolación.
Un spline cúbico, es una curva interpoladora con menor oscilación.
Un spline cúbico es una curva constituida por trozos de polinomios de
tercer grado de forma que se unan entre si con continuidadhasta la
grado,
segunda derivada para definir una curva en C2.
La idea de unir sucesivamente arcos polinomiales fue propuesta por:
P.
P de Casteljan (Citroën 50’s reporte interno)
(Citroën, 50 s,
P. Bézier (Renault, 60’s, Sistema UNISURF ampliamente publicado)
Industria automotriz

El primer ti d curva y superficie que estudiaremos, serán l curvas d
i
tipo de
fi i
t di
á las
deBézier.
La idea subyacente en una curva de Bézier está en considerar una base
especial d l espacio d l polinomio que permite una b
i l del
i del
li
i
it
buena i t
interpretación
t ió
geométrica de los coeficientes de un polinomio cuando se expresan en
función de dicha base.

(C) A. Sánchez L. 2013

2

Polinomios de Bernstein, I
,
Base de Bernstein (≈1912, Aproximación uniforme afunciones continuas).
Consideremos los polinomios (para n fijo):

⎛n⎞ k
Bk ( x) = ⎜ ⎟ x (1 − x) n − k
⎜k ⎟
⎝ ⎠
donde

con 0 ≤ k ≤ n

(1)

⎛n⎞
n!
son los coeficientes binomiales
⎜ =
⎜k
⎝ ⎠ k!(n − k )!

Se denominan polinomios de Bernstein y sólo se definen para x∈[0,1]:
Ejemplos:
Para n = 1
Para n = 2
2

B0 ( x) = 1 − x
B1 ( x) = x

(C) A. Sánchez L. 2013

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

Polinomios de Bernstein, II
,
Para n = 3

B0 (x) = (1− x)3
B1(x) = 3x(1− x)2
B2 (x) = 3x2 (1− x)
B3 (x) = x3
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
(C) A. Sánchez L. 2013

4

Curvas de Bézier simples, I
p ,
Cuando un polinomio arbitrario de grado menor o igual que n seexpresa
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:

C (t ) =

n

∑PB
k =0

k

k

( x)

o ≤ t ≤1

(2)

donde
Pk ≡ (xk, yk) si la curva es de ℜ2 y
Pk ≡ (xk, yk, zk) si la curva es de ℜ3.
Los coeficientes Pk se denominan puntos de control de la curva de Bézier.
Para n = 1
C(t ) = P0 B 0 (t ) + P1 B1 (t ) = (1 − t ) P0 + P1
(3)

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

(C) A. Sánchez L. 2013

5

Curvas de Bézier simples, II
p ,
C(t) es la recta que une los puntos del plano
representados por los coeficientes P0, P1.

Para n = 2

C (t ) = P0 B 0 (t ) + P1 B1 (t ) + P2 B 2 (t ) =
= (1 − t ) P0 + 2 t (1 − t ) P1 + t P2
2

2

(4)

De forma análoga al caso n =1, tenemos: C ( 0 ) = P0

C (1) = P2
Con lo cual C(t) interpola el primer y tercer puntos
de control

(C) A. Sánchez L. 2013

6

Curvas de Bézier simples, III
p ,
Si derivamos (4):

C ' ( t ) = − 2 (1 − t ) P0 + 2 (1 − 2 t ) P1 + 2 tP2
De donde:

C ' ( 0 ) = 2 ( P1 − P0 )
C ' (1) = 2 ( P2 − P1 )

(5)

C’(0) y C’(1) son respectivamente vectores tangente a la curva C(t) en 0 yen 1, tienen la dirección de los vectores P1-P0 y P2-P1. La curva C(t) es
tangente a l poligonal que une P0, P1 , P2.
t
t
la li
l
Para n = 3
( )
(6)
C (t ) = P B (t ) + P B (t ) + P B (t ) + P B (t ) =
0

0

1

1

2

2

3

3

= (1 − t ) 3 P0 + 3t (1 − t ) 2 P1 + 3t 2 (1 − t ) P2 + t 3 P3
C ( 0 ) = P0
C (1) = P3

(C) A. Sánchez L. 2013

7

Curvas de Béziersimples, IV
p ,
Es fácil imaginar el efecto de mover alguno de los puntos de control (lo que
equivale a cambiar los coeficientes de la curva polinomial C(t) respecto de
()
la base de Bernstein.
Los polinomios de Bernstein Bk(t) cuentan con propiedades importantes en
el intervalo [0,1].
[ , ]
Dichas propiedades se transfieren a las curvas de Bézier simples.
Es posible definir una curva de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Opengl
  • Opengl
  • Opengl
  • Opengl
  • Opengl
  • Opengl
  • que es OpenGL?
  • Opengl

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS