Upload
jose-mexas
View
99
Download
0
Embed Size (px)
Citation preview
5/11/2018 03 Algoritmo Carl de Boor Para Splines - slidepdf.com
http://slidepdf.com/reader/full/03-algoritmo-carl-de-boor-para-splines 1/5
1 RPCG 2s2010 Prof. José Méxas
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 sequência de curvas de
Bezier de grau menor , denominada spline, para modelar a mesma forma complexa , coma vantagem adicional de se poder editar somente partes da curva, sem alterar o restante
da mesma.
No caso de uma spline formada por uma composição de curvas de Bezier , dadas pelosseus pontos de controle ( b
i), podemos considerar novos pontos de controle ( di ), que
através do Algoritmo de Boor poderemos avaliar splines de maneira análoga aoAlgoritmo de Casteljau, utilizado para avaliação das curvas Bézier.
Para fixar idéia vamos considerar o caso da cúbica definida por b0, b1, b2, b3, composta
com a cúbica definida pelos pontos de controle b3, b4, b5, b6.
Onde =u1-u0 e =u2-u1
Para que na emenda b3, tenhamos:
I- Uma C1 continuidade:
Os pontos b2, b3, b4 devem ser colineares e guardarem entre si a proporção
5/11/2018 03 Algoritmo Carl de Boor Para Splines - slidepdf.com
http://slidepdf.com/reader/full/03-algoritmo-carl-de-boor-para-splines 2/5
2 RPCG 2s2010 Prof. José Méxas
(1)
II- Uma C2 continuidade:
Para tal deve existir um ponto d1
tal que os pontos b1, b
2, d
1, b
4, b
5, verifiquem a
seguinte proporção:
(2)
Usando as relações (1) e (2) temos que
(3)
Usando semelhança de triângulos podemos concluir a seguinte relação entre asabscissas dos respectivos pontos:
Donde temos o valor da abscissa do ponto d1 , denominada Abscissa de Greville,
calculada em função dos nós u0, u
1, u
2:
Os pontos d-1
=b0,
d0=b
1, d
1, d
2=b
5, d
3=b
6formam os Pontos de Controle denominados
Pontos de Boor, que junto com a sequência de nós u0, u
1, u
2,definem a spline acima
formada pelas duas cúbicas.
A questão é construir um algoritmo que nos permita calcular pontos sobre a splineatravés de seus Pontos de Boor. Podemos sugerir um tal algoritmo observando o casoda spline cúbica acima. Se temos um nó u de multiplicidade 3, fazendo u=u0=u1=u2,
5/11/2018 03 Algoritmo Carl de Boor Para Splines - slidepdf.com
http://slidepdf.com/reader/full/03-algoritmo-carl-de-boor-para-splines 3/5
3 RPCG 2s2010 Prof. José Méxas
então teremos
e daí o ponto d1 passaria a ser um ponto sobre a spline cúbica.
Desta forma temos o Algoritmo de Carl de Boor para splines , publicado em 1972, dadopor:( Farin seção 10.3, eq. 10.5 e Marinho seção 3.3, eq. 3.19)
Considere uma curva paramétrica B-spline de grau n, denotada por BnP, onde P é o
polígono de controle.
Seja .
Defina , de tal maneira que divida o segmento na mesma proporção
em que u divide o segmento onde k representa a ordem da iteração, oua ordem da inserção do parâmetro u ou seja
onde e
Então é o valor da curva B-spline no parâmetro u. Onde r denota
a multiplicidade de u se ele já for um dos nós, senão r=0. Como é usual .
5/11/2018 03 Algoritmo Carl de Boor Para Splines - slidepdf.com
http://slidepdf.com/reader/full/03-algoritmo-carl-de-boor-para-splines 4/5
4 RPCG 2s2010 Prof. José Méxas
A figura abaixo representa o Algoritmo de Boor para .
O exemplo abaixo avalia uma spline cúbica (n=3) no parâmetro u.
I- Em k=1( primeira iteração) são usados 3 sequências de 3 intervalos consecutivos quecontenham o parãmetro u:
divide d0d
1na mesma proporção que u divide o segmento u
0u
3.
divide d1d2 na mesma proporção que u divide o segmento u1u4.
divide d2d
3na mesma proporção que u divide o segmento u
2u
5.
Assim os pontos de Boor d0, , , , d
3, d
4correspondem a sequência de nós u
0,u
1,
u2, u, u
3, u
4, u
5, u
6.
II- Em k=2 ( segunda iteração) são usados 2 sequências de 2 intervalos consecutivos quecontenham o parâmetro u:
divide na mesma proporção que u divide o segmento u1u
3.
divide na mesma proporção que u divide o segmento u2u
4.
Assim os pontos de Boor d0, , , , , d3, d4 correspondem a sequência de nós u0,
u1,
u2, u, u, u
3, u
4, u
5, u
6.
5/11/2018 03 Algoritmo Carl de Boor Para Splines - slidepdf.com
http://slidepdf.com/reader/full/03-algoritmo-carl-de-boor-para-splines 5/5
5 RPCG 2s2010 Prof. José Méxas
III- Em k=3 ( terceira iteração) é usada 1 sequência de 1 intervalo que contenh oparâmetro u:
divide na mesma proporção que u divide o segmento u2
u3
.
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 sequência dos nósé tal que,
0 = u0
= u1
= ... = un-1
< un
= un+1
= ... = u2n-1
= 1,
ou seja, 0 e 1 são nós de multiplicidade n.
Neste caso o Algoritmo de Casteljau é um caso partícular do Algoritmo de Boor:
II - Se dois nós adjacentes em uma sequência de nós possuem a mesma multiplicidade
n, então entre esses nós o Polígono de Boor passam a coincidir com o Polígono deBézier.