You are on page 1of 13

Curvas de B ezier

Las cuervas de B ezier son splines que le permiten al usuario controlar la pendiente en los nodos de interpolaci on. A cambio de esta libertad la curva podr a perder suavidad en los nodos. Estas curvas son apropiadas cuando se necesitan picos o esquinas (discontinuidad en la primera derivada) o cambios abruptos en la curvatura (discontinuidad en la segunda derivada).

Curvas de B ezier

Pierre B ezier desarroll o esta idea mientras trabajaba para la compa n a Renault. La misma idea fue descubierta de manera independiente por Paul de Casteljau, quien trabajaba para Citro en. Estos splines se dieron a conocer luego que B ezier public o su trabajo. Hoy d a las curvas de B ezier son fundamentales en el dise no y la manufactura asistidas por computadoras.

Curvas de B ezier

Cada pedazo de un spline de B ezier en el plano se determina con cuatro puntos en lugar de dos, dos puntos adicionales llamados puntos de control, (x1 , y1 ), (xc 1 , yc 1 ), (xc 2 , yc 2 ), (x2 , y2 ). Aqu (x1 , y1 ) y (x2 , y2 ) son los extremos del pedazo del spline y (xc 1 , yc 1 ) y (xc 2 , yc 2 ) son los puntos de control. La curva sale de (x1 , y1 ) en la direcci on tagente (xc 1 x1 , yc 1 y1 ) y termina en (x2 , y2 ) en la direcci on tangente (x2 xc 2 , y2 yc 2 ). La curva se escribe parametrizada (x (t ), y (t )) para 0 t 1.

Curvas de B ezier

Algoritmo. Dados los nodos (x1 , y1 ), (x2 , y2 ) y los puntos de control (xc 1 , yc 1 ), (xc 2 , yc 2 ) Ponga bx = 3(xc 1 x1 ) cx = 3(xc 2 xc 1 ) bx dx = x2 x1 bx cx by = 3(yc 1 y1 ) cy = 3(yc 2 yc 1 ) by dy = y2 y1 by cy La curva de B ezier se dene para 0 t 1 como sigue x (t ) = x1 + bx t + cx t 2 + dxt 3 y (t ) = y1 + by t + cy t 2 + dyt 3

Curvas de B ezier
Ejemplo. Encuentre la curva de B ezier (x (t ), y (t )) que pasa a trav es de los puntos (x , y ) = (1, 1) y (2, 2) con puntos de control (1, 3) y (3, 3). Los cuatro puntos son (x1 , y1 ) = (1, 1), (xc 1 , yc 1 ) = (1, 3), (xc 2 , yc 2 ) = (3, 3) y (x2 , y2 ) = (2, 2). La f ormula de B ezier da: bx = 0, cx = 6, dx = 5 y by = 6, cy = 6, dy = 1. La curva de B ezier es x (t ) = 1 + 6t 2 5t 3 y (t ) = 1 + 6t 6t 2 + t 3 para 0 t 1.

Curvas de B ezier

2.5

1.5

1.5

2.5

Curvas de B ezier

Las curvas de B ezier tienen la ventaja sobre los splines c ubicos de que el usuario puede especicar las pendientes en los nodos como desee. Pero esa libertad tiene un costo en la suavidad del spline: por lo regular la segunda derivada de dos segmentos contiguos no concuerdan. Para algunas aplicaciones esto es una ventaja.

Curvas de B ezier
Para dibujar letras o n umeros es necesario usar curvas de B ezier en dos dimensiones. El siguente programa en PostScript dibuja la curva de un ejemplo previo. newpath 100 100 moveto 100 300 300 300 200 200 curveto stroke newpath, inicial la curva. moveto, el punto inicial. curveto, identica los punto anteriores como control y el extremo nal del spline para construir el spline de B ezier. stroke, dibuja la curva.

Curvas de B ezier

El siguiente archivo PostScript genera la letra T en Times-Roman.

Curvas de B ezier
newpath 237 620 moveto 237 620 237 120 237 120 curveto 237 120 moveto 237 35 226 24 143 19 curveto 143 19 moveto 143 19 143 0 143 0 curveto 143 0 moveto 143 0 435 0 435 0 curveto 435 0 moveto 435 0 435 19 435 19 curveto 435 19 moveto 353 23 339 36 339 109 curveto 339 109 moveto 339 108 339 620 339 620 curveto

Curvas de B ezier
339 620 moveto 339 620 393 620 393 620 curveto 393 620 moveto 507 620 529 602 552 492 curveto 552 492 moveto 552 492 576 492 576 492 curveto 576 492 moveto 576 492 570 662 570 662 curveto 570 662 moveto 570 662 6 662 6 662 curveto 6 662 moveto 6 662 0 492 0 492 curveto 0 492 moveto 0 492 24 492 24 492 curveto 24 492 moveto 48 602 71 620 183 620 curveto

Curvas de B ezier

183 620 moveto 183 620 237 620 237 620 curveto stroke

Curvas de B ezier

You might also like