Você está na página 1de 5

1 RPCG 2s2010 Prof.

Jos Mxas

Splines e o Algoritmo de Carl de Boor


As curvas de Bezier possuem a desvantagem de ter o grau elevado para se conseguir modelar formas complexas. No entanto podemos usar uma sequncia de curvas de Bezier de grau menor , denominada spline, para modelar a mesma forma complexa , com a vantagem adicional de se poder editar somente partes da curva, sem alterar o restante da mesma. No caso de uma spline formada por uma composio de curvas de Bezier , dadas pelos seus pontos de controle ( bi ), podemos considerar novos pontos de controle ( di ), que atravs do Algoritmo de Boor poderemos avaliar splines de maneira anloga ao Algoritmo de Casteljau, utilizado para avaliao das curvas Bzier. Para fixar idia vamos considerar o caso da cbica definida por b 0, b1, b2, b3, composta com a cbica definida pelos pontos de controle b3, b4, b5, b6.

Onde Para que na emenda b3, tenhamos: I- Uma C1 continuidade:

=u1-u0 e

=u2-u1

Os pontos b2, b3, b4 devem ser colineares e guardarem entre si a proporo

2 RPCG 2s2010 Prof. Jos Mxas

(1) II- Uma C2 continuidade:

Para tal deve existir um ponto d1 tal que os pontos b1, b2, d1, b4, b5, verifiquem a seguinte proporo:

(2) Usando as relaes (1) e (2) temos que

(3) Usando semelhana de tringulos podemos concluir a seguinte relao entre as abscissas dos respectivos pontos:

Donde temos o valor da abscissa do ponto d1 , denominada Abscissa de Greville, calculada em funo dos ns u0, u1, u2 :

Os pontos d-1=b0, d0=b1, d1, d2=b5, d3=b6 formam os Pontos de Controle denominados Pontos de Boor, que junto com a sequncia de ns u0, u1, u2, definem a spline acima formada pelas duas cbicas. A questo construir um algoritmo que nos permita calcular pontos sobre a spline atravs de seus Pontos de Boor. Podemos sugerir um tal algoritmo observando o caso da spline cbica acima. Se temos um n u de multiplicidade 3, fazendo u=u 0=u1=u2,

3 RPCG 2s2010 Prof. Jos Mxas ento teremos

e da o ponto d1 passaria a ser um ponto sobre a spline cbica.

Desta forma temos o Algoritmo de Carl de Boor para splines , publicado em 1972, dado por:( Farin seo 10.3, eq. 10.5 e Marinho seo 3.3, eq. 3.19) Considere uma curva paramtrica B-spline de grau n, denotada por B nP, onde P o polgono de controle. Seja .

Defina ,

de tal maneira que divida o segmento

na mesma proporo

em que u divide o segmento onde k representa a ordem da iterao, ou a ordem da insero do parmetro u ou seja

onde Ento

e o valor da curva B-spline no parmetro u. Onde r denota .

a multiplicidade de u se ele j for um dos ns, seno r=0. Como usual

4 RPCG 2s2010 Prof. Jos Mxas A figura abaixo representa o Algoritmo de Boor para .

O exemplo abaixo avalia uma spline cbica (n=3) no parmetro u. I- Em k=1( primeira iterao) so usados 3 sequncias de 3 intervalos consecutivos que contenham o parmetro u: divide d0d1 na mesma proporo que u divide o segmento u 0u3. divide d1d2 na mesma proporo que u divide o segmento u 1u4. divide d2d3 na mesma proporo que u divide o segmento u 2u5.

Assim os pontos de Boor d0,

, , d3, d4 correspondem a sequncia de ns u0, u1, u2, u, u3, u4, u5, u6.

II- Em k=2 ( segunda iterao) so usados 2 sequncias de 2 intervalos consecutivos que contenham o parmetro u: divide divide na mesma proporo que u divide o segmento u1u3. na mesma proporo que u divide o segmento u 2u4. , , , , d3, d4 correspondem a sequncia de ns u0, u1, u2, u, u, u3, u4, u5, u6.

Assim os pontos de Boor d0,

5 RPCG 2s2010 Prof. Jos Mxas

III- Em k=3 ( terceira iterao) usada 1 sequncia de 1 intervalo que contenh o parmetro u: divide na mesma proporo que u divide o segmento u2u3.

Duas notas importantes: I - O algoritmo de Casteljau considera a curva definida em um nico intervalo [0,1] e podemos obte-lo considerando uma curva spline de grau n em que a sequncia dos ns tal que, 0 = u0 = u1 = ... = un-1 < un = un+1 = ... = u2n-1 = 1, ou seja, 0 e 1 so ns de multiplicidade n. Neste caso o Algoritmo de Casteljau um caso partcular do Algoritmo de Boor: II - Se dois ns adjacentes em uma sequncia de ns possuem a mesma multiplicidade n, ento entre esses ns o Polgono de Boor passam a coincidir com o Polgono de Bzier.

Você também pode gostar