You are on page 1of 11

Curvas e superf cies de Bezier e B-splines

Lenimar Nunes de Andrade 11 de agosto de 1999


Resumo

Este texto de ne, da exemplos e cita as principais propriedades das curvas de Bezier e B-splines. Estes s~ ao dois tipos de curvas ou superf cies bastante utilizados em Modelagem Geometrica.

Sumario
1 2 Curvas de Bezier Curvas B-splines 1 4

2.1 Propriedades das curvas B-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Alguns tipos especiais de vetor de nos . . . . . . . . . . . . . . . . . . . . . . . .
Superf cies de Bezier Superf cies B-splines

5 6

3 4

7 8

1 Curvas de Bezier
As curvas de Bezier foram estudadas no in cio dos anos 60 por De Casteljau em uma empresa francesa, com a nalidade de criar um metodo e ciente para modelagem de carros. A ideia de De Casteljau e bastante simples. Dados n +1 pontos B ; B ; ; Bn no R , de nimos uma curva P : 0; 1] ! R atraves de interpolac~ oes lineares sucessivas: consideramos inicialmente a linha poligonal ligando os pontos Bi a Bi com i = 0; 1; ; n 1. Em seguida, para cada t 2 0; 1] de nimos em cada segmento BiBi um ponto Bi por interpolac~ ao linear Bi = tBi +(1 t)Bi : Constru mos desse modo uma nova poligonal de nida pelos novos pontos B ; B ; ; Bn : A linha poligonal assim obtida possui n 1 segmentos e sua construc~ ao e mostrada na gura 1 (com n = 3). Prosseguindo a construc~ ao acima usando a nova poligonal B ; B ; ; Bn , apos n etapas obtemos um ponto B n 2 R : Este ponto e, por de nic~ ao, o valor de P (t). Alguns calculos simples mostram que P (t) e uma func~ ao polinomial de grau n na variavel t. Alem disso, P (t) pode ser escrita como uma combinac~ ao linear dos pontos
3 0 1 3 +1 (1) +1 (1) (1) 0 (1) 1 +1 (1) 1 ( ) 0 (1) 0 (1) 1 (1) 1 3

Dispon vel em ftp://mat.ufpb.br/pub/docs/cursos/bezier.zip

Figura 1: Algoritmo de De Casteljau

B ; B ; ; Bn na qual os coe cientes s~ ao polin^ omios de grau n na variavel t. Por exemplo, para n = 3 obtemos que P (t) = (1 t) B + 3t(1 t) B + 3t (1 t)B + t B e, por induc~ ao, para qualquer n temos n X n ti (1 t)n iB : P (t) = i i i
0 1 3 0 2 1 2 2 3 3 =0

De nic~ ao 1.1 Os polin^ omios

i n i Jni(t) = n i t (1 t) ; t 2 0; 1] utilizados para de nir as curvas de Bezier s~ ao chamados polin^ omios de Bernstein. Os gra cos de alguns polin^ omios de Bernstein J ; J ; J ; J e J s~ ao mostrados na gura 2.
40 41 42 43 44

Figura 2: Polin^ omios de Bernstein

A equac~ ao de P (t) em func~ ao dos polin^ omios de Bernstein foi descoberta por P. Bezier tambem no in cio da decada de 60, sem ter conhecimento do trabalho de De Casteljau. A
2

relac~ ao entre os trabalhos de De Casteljau e de Bezier so veio a ser conhecida por volta de 1970. Por essa raz~ ao, a curva P (t) de nida anteriormente e chamada curva de Bezier. A linha poligonal formada pelos pontos iniciais B ; ; Bn e chamada pol gono de controle.
0

Figura 3: Curvas de Bezier de nidas por

B 0 ; B1 ; B2 ; B3

A partir da formulac~ ao de Bezier e imediato veri car que a curva de Bezier interpola apenas o ponto inicial e o ponto nal do pol gono de controle. Alem disso, e tangente ao lado do pol gono de controle que contem esses pontos (veja gura 3). Outras propriedades importantes das curvas de Bezier s~ ao: Invari^ ancia a m. Se T e uma transformac~ ao a m do espaco, B ; ; Bn e um pol gono de controle e P (t) a respectiva curva de Bezier, ent~ ao T (P (t)) = PT (t), onde PT (t) e a curva de Bezier associada ao pol gono T (B ); ; T (Bn). Fecho convexo. A curva de Bezier esta contida no fecho convexo do pol gono de controle. A propriedade da invari^ ancia a m e importante pois permite que construc~ oes geometricas com curvas de Bezier possam ser realizadas em um sistema de coordenadas mais conveniente, e depois transformados para o sistema de coordenadas desejado. Como consequ^ encia da propriedade do fecho convexo temos que se o pol gono de controle esta contido em um subespaco a m, ent~ ao a curva de Bezier correspondente tambem esta contida no mesmo espaco. Um grande inconveniente na utilizac~ ao das curvas de Bezier e que o grau dos polin^ omios cresce com o numero de pontos do pol gono de controle. Este problema pode ser contornado particionando o pol gono de controle original e fazendo a combinac~ ao de varias curvas de Bezier. Outro inconveniente e a falta de controle local. Isto signi ca que uma alterac~ ao de um ponto no pol gono de Bezier acarreta alterac~ oes em toda a curva de Bezier { o que ocorre porque os polin^ omios de Bernstein n~ ao se anulam em pontos do intervalo ]0; 1 :
0 0

Figura 4: Fecho convexo para = 2 3 4 6 8


k ; ; ; ;

2 Curvas B-splines
Nesta sec~ ao (e sempre que nos referirmos a B-splines) utilizaremos a convenc~ ao = 0. Sejam B ; B ; ; Bn os n + 1 pontos de um pol gono de controle, k um inteiro tal que 2 k n +1 e (xi ) uma sequ^ encia crescente nita (chamada vetor de nos) composta de n + k + 1 numeros reais. A curva B-spline associada aos Bi e aos xj e de nida por
0 0 1 2 +1

P (t) =

n X
+1

i=1

BiNik (t); tmin t tmax:

Os Nik s~ ao func~ oes polinomias por partes de nidas recursivamente por ; se t 2 xi ; xi ] Ni (t) = 1 0; se t 62 xi ; xi ]
1 +1 +1

Figura 5: ik com vetor de nos uniforme


N

= (0 1 2 3 4 5 6)

; n

= =3
k

Figura 6:

= (0 0 0 1 1 3 3 3)
1

Figura 7: X = (0 0 0 2 2 3 3 3 )
+ +1 1

Nik (t) = (t x xi )Ni;k x (t) + (xi kx t)Nix ;k (t) : i k i i k i


+ 1 + +1

2.1 Propriedades das curvas B-splines


2

P (t) e uma curva polinomial por partes de grau k 1 em cada intervalo xi ; xi ]. As derivadas de P (t) de ordens 1; 2; ; k 2 s~ ao func~ oes cont nuas (ou seja k P 2 C ). P Nik (t) 0 e n i Nik (t) = 1. Quando o pol gono de controle e plano, a curva B-spline esta contida na uni~ ao dos fechos convexos de k pontos vizinhos desse pol gono (veja gura 4). A curva B-spline possui invari^ ancia a m. Isto signi ca que transformac~ oes aplicadas aos pontos da curva e aos pontos do pol gono de controle podem ser comutadas. A curva B-spline possui controle local. Isto signi ca que modi cac~ oes feitas em um ponto do pol gono de controle afetam apenas uma vizinhanca de pontos e n~ ao a curva inteira (veja gura 8 onde foi modi cada a posic~ ao do ponto B ).
+1 +1 =1 5

Figura 8: Controle local de uma curva B-spline

2.2 Alguns tipos especiais de vetor de nos Vetor de nos uniforme Os xi s~ ao igualmente espacados, como por exemplo em
X = ( 0 1 2 3 4 5 ):

Vetor de nos aberto-uniforme O primeiro e o ultimo xi s~ ao repetidos k vezes e os


X = ( 0 0 0 1 2 3 3 3 ):

nos internos s~ ao igualmente espacados. Alem disso, o primeiro xi deve ser igual a 0 e o ultimo igual a n k + 2, como no seguinte exemplo:

Figura 9: Curvas B-spline com = 2 3 4


k ; ;

De um modo geral, um vetor de nos aberto-uniforme e tal que 8 0 se 1 i k < xi = : i k se k + 1 i n + 1 n k + 2 se n + 2 i n + k + 1 Quando n = k e o vetor de nos e aberto-uniforme, a curva B-spline reduz-se a uma curva de Bezier. Vetor de nos n~ ao-uniforme Podem n~ ao ser igualmente espacados ou ter repetic~ ao nos nos internos como nos seguintes exemplos: X =(0 0 0 1 1 2 2 2) X = ( 0 1=5 1=4 1=3 1 1 4 )
1 2

Uma alterac~ ao no vetor de nos pode levar a mudancas radicais no formato dos vetores basicos Nik (t) de uma curva B-spline. A gura 5 mostra alguns gra cos dos Nik quando o vetor de nos e uniforme. As guras 6 e 7 mostram gra cos com vetores de nos n~ aouniformes. Alterac~ oes no valor de k levam a mudanca nos graus das func~ oes polinomias por partes (que s~ ao de graus k 1) e mudancas signi cativas na curva B-spline (veja gura 9). Quando k = 2 a curva B-spline coincide com o pol gono de controle. A medida que k aumenta, a curva torna-se mais suave e mais distante do pol gono. Alem das curvas B-splines e curvas de Bezier, s~ ao muito utilizadas em Modelagem Geometrica as curvas B-splines racionais que s~ ao as curvas cujos polin^ omios basicos s~ ao da forma Rik (t) = PnhiNik (t) i hi Nik (t) onde hi 0; 8i: As curvas B-splines racionais constituem uma fam lia muito importante de curvas para a Modelagem Geometricas porque permitem construc~ oes bastante aproximadas de circunfer^ encias e das c^ onicas de um modo geral. Quando o vetor de nos de uma curva B-spline racional n~ ao e uniforme ent~ ao temos o que se chama NURBS (Non Uniform Rational B-Spline).
+1 =1

3 Superf cies de Bezier


A ideia de curva de Bezier pode ser \generalizada" para superf cies dando origem ao que chamamos superf cie de Bezier. Sejam Bij ; i = 0; ; m; j = 0; ; n; um conjunto de pontos no R de tal forma que sua projec~ ao no plano x0y seja formada pelos vertices de mn ret^ angulos de mesmas dimens~ oes (congruentes). A superf cie de Bezier de nida pelos Bij e a superf cie Q : 0; 1] 0; 1] ! R tal que
3 3

Q(u; v) =

n X m X i=0 j =0

Bij Jni(u)Kmj (v)

onde Jni(u) e Kmj (v) s~ ao polin^ omios de Bernstein: i (1 u)n i e K (v ) = m v j (1 v )m j : u Jni(u) = n mj j i Algumas propriedades conhecidas das superf cies de Bezier s~ ao: A superf cie e invariante por tranformac~ oes a ns. A superf cie esta contida no fecho convexo (tridimensional) do pol gono (n~ ao plano) de controle de nido pelos Bij . A superf cie geralmente segue a forma do poligono de controle. (ver gura 10) A superf cie passa pelos 4 pontos \dos cantos" no pol gono de controle (ver gura 10). E uma superf cie polinomial cujo grau e m + n.

Figura 10: Superf cies de Bezier

4 Superf cies B-splines


S~ ao de nidas de forma semelhante as superf cies de Bezier, bastando trocar as func~ oes basicas Jni e Kmj pelos Nik que de nem as curvas B-splines. Dessa forma, dados k e l, uma superf cie B-spline e uma superf cie Q : 0; 1] 0; 1] ! R de nida por
3

Q(u; v) =

n m X X
+1

+1

i=1 j =1

Bij Nik (u)Mjl(v)

onde os Nik e os Mjl s~ ao func~ oes polinomias por partes de nidas recursivamente por

Ni (t) =
1 + 1

1; se t 2 xi ; xi ] 0; se t 62 xi ; xi ]
+1 +1 1 + +1 1 + +1

1; se t 2 yj ; yj ] 0; se t 62 yj ; yj ] j ;l (t) : Mjl (t) = (t y yj )Mj;l y (t) + (yj l y t)My j l j j l j onde (xi ) e (yj ) s~ ao vetores de nos previamente de nidos. Algumas propriedades das superf cies B-splines s~ ao: A superf cie e invariante por transformac~ oes a ns. A superf cie esta contida no fecho convexo (tridimensional) do pol gono (n~ ao plano) de controle de nido pelos Bij . Possui controle local (veja gura 11). Superf cies B-splines racionais podem ser usadas na modelagem de objetos mais so sticados. Veja por exemplo as guras 12 e 13.

Nik (t) = (t x xi )Ni;k x (t) + (xi kx t)Nix ;k (t) : i k i i k i Mj (t) =


1 + +1 +1

+1

+1

Refer^ encias
1] J. M. Gomes e L. Velho, Conceitos Basicos de Computac~ ao Gra ca, VII Escola de Computac~ ao, 1990 2] D. Rogers, J. Adams, Mathematical Elements for Computer Graphics, McGraw-Hill, 1990 3] Foley et al., Computer Graphics, principles and practice, Addison-Wesley, 1990

Figura 11: Controle local em superf cies B-splines

10

Figura 12: B-splines racionais

Figura 13: B-splines racionais

11

You might also like