Sie sind auf Seite 1von 13

SPLINES

Antigamente, a forma final aproximada ou completa de uma curva em um projeto, como o casco de um navio ou o perfil da fuselagem de um avio, podia ser obtida atravs de um processo chamado lofting(soteamento), que consistia na utilizao de uma barra longa e estreita fabricada com um material resistente a esforos transversais e longitudinais, como madeira ou plstico. Esta barra era modelada no formato de uma curva desejada aplicando-se tenses ao longo da barra com pesos e suportes de conduo denominados ducks(patos). duck

Dispositivos mecnicos que podem atuar como pesos de conduo ducks: molas suporte suporte

pesos A curva formada pela barra modelada pelos pesos de conduo uma spline fsica e sua forma alterada pelo valor, posio e nmero destes pesos, o que possibilita uma conduo da curva atravs de pontos determinados. Com o advento da computao, houve um considervel interesse no desenvolvimento matemtico deste processo. Analiticamente, a forma da spline determinada pela deflexo da barra em cada ponto onde so aplicados os pesos.
forma original da barra

deflexo

O valor desta deflexo dado pela equao de Euler para o momento fletor ao longo da barra: M(x) = E.I R(x) onde: M(x) = momento fletor; E = mdulo de Young (propriedade do material que compe a barra); I = momento de inrcia; R(x) = raio da curvatura da barra. O material utilizado na barra origina pequenas deflexes em razo da resistncia e para oferecer maior suavidade curva. Deste modo, y<<1 e o raio da curvatura aproximado para: 1 y' ' y' ' Considerando que os pesos de conduo atuam como simples suportes sem variao no esforo que exercem na barra, o momento fletor M(x) varia linearmente entre estes pesos, ou seja: R( x ) =

(1+ y' )

2 3

M(x) = A.x + B
E.I E.I.y' ' R( x ) y' = A.x +B = A.x + B E.I Considerando E.I constante e integrando duas vezes: y = A1.x3 + B1.x2 + C1.x + D1 Esta a equao de um pedao da spline fsica em funo de x: a funo spline cbica. Matematicamente, esta funo um pedao de polinmio, que consiste na juno de polinmios, limitado por um determinado intervalo, tal que a continuidade da curva resultante desta funo satisfeita nos pontos de juno. Como exemplo a funo abaixo, g(t), formada pelos polinmios a(t), b(t) e c(t). g(t) junes b(t) A.x + B =

a(t) c(t)

amplitude
t

ns suporte Alm do terceiro grau, a funo spline pode possuir outros graus, sendo a spline de grau n um pedao de polinmio que tem continuidade da derivada de ordem n1 em cada n. As Curvas Spline so uma mistura de vetores utilizando pedaos de polinmios, sendo contnua nos seus ns. As splines constitudas por polinmios de baixo grau so mais teis para o preenchimento de curvas pela reduo no tempo de processamento dos clculos e da instabilidade numrica presente em curvas de alto grau. Como polinmios de baixo grau podem no conectar determinados pontos, quando deseja-se que a curva passe por determinados pontos, utiliza-se uma tcnica unindo uma srie de segmentos de spline cbica, com cada segmento conectando somente dois pontos.
pontos de preenchimento da curva pedaos de polinmios

A equao para um segmento de spline cbica dada por:


P( t ) = B i .t i1
k =0 4

Onde t1 e t2 so os valores do parmetro t no incio e fim dos segmentos. Os coeficientes constantes Bi so determinados por quatro condies de contorno (spline cbica): P(t) = B1 + B2.t + B3.t2 + B4.t3 t1 t t2

Se P1 e P2 so os vetores posio inicial e final do segmento, respectivamente. Ento:

P(0) = P1 e P(t2) = P2 P(0) = P1 = B1 + B2.0 + B3.0 + B4.0 = B1 P1 = B1 P(t2) = B1 + B2.t2 + B3.t22 + B4.t23 Considere tambm P1 e P2 os vetores tangentes iniciais e finais dos extremos do segmento spline: P(0) = P1 P(t2) = P2 P(t) = B2 + 2.B3.t + 3.B4.t2 P(0) = B2 +2.B3.0 + 3.B4.0 = B2 = P1 P(t2) = B2 + 2.B3.t2 + 3.B4.t22 Foram obtidos os valores de B2 e B1 partir dos vetores extremos de posio e tangentes. Isolando-se B3 e B4: P(t2) = P2 = B2 + 2.B3.t2 + 3.B4.t22 = P1 + 2.B3.t2 + 3.B4.t22 P(t2) = P2 = B1 + B2.t2 + B3.t22 + B4.t23 = P1 + P1 + B3.t22 + B4.t23 Resolvendo-se as duas equaes acima para B3 e B4 em relao aos vetores iniciais e finais de posio e tangentes: B3 = 3.(P2 P1) 2.P1 P2 t22 t2 t2 B4 = 2.(P1 P2) + P1+ P2 t23 t22 t22 Substituindo na equao inicial de P(t): P(t) = P1 + P1.t + 3.(P2 P1) 2.P1 P2 .t2 + 2.(P1 P2) + P1+ P2 .t3 t22 t22 t2 t2 t23 t22 Do exposto acima, conclui-se que a forma do segmento de spline cbica depende dos vetores posio e tangentes nos extremos do segmento alm do valor final do parmetro t, que deve ser conhecido. Para a representao de uma curva completa, agrupam-se diversos segmentos como este. Na juno dos segmentos, o vetor tangente P2 torna-se interno curva, possibilitando sua determinao por uma condio de continuidade, pois a curvatura contnua atravs da juno, ou seja, a derivada segunda de P2 (juno) contnua: P(t) =

(i 1).(i 2).B .t
i i =1

i3

t1 t t2

para o primeiro segmento P(t2) = 2.B3 + 6.B4.t22 t1 t t2 Considerando a faixa de valores do parmetro t de 0 t3 para o segundo segmento conectado por P2: para o segundo segmento P(0) = 2.B3 + 6.B4.0 = 2.B3 t2 t t3 Como P(t2) = P(0) 2.B3 + 6.B4.t22 = 2.B3 6.t2. 2.(P1 P2) + P1 + P2 + 2. 3.(P2 P1) 2.P1 P2 = 2. 3.(P3 P2) 2.P2 P3 t23 t22 t22 t22 t2 t2 t22 t2 t2

As funes splines podem ser utilizadas como funes de mistura. Considere a curva p(t) baseada no polgono de controle p0, p1, p2, p3, p4.
p( t ) = p k .gk ( t )
k =0 4

Com gk(t) = g(t k) para k = 0, 1, 2, 3, 4.


g0(t) p0 p1 g1(t) g2(t) g3(t) g4(t)

p2

p4

p3

t A forma acima pode ser generalizada para utilizar L + 1 pontos de controle, variando k de 0

L:
p 0, p 5 p1, p6

p2

p4

P3

t tk t t .Nk,m1 ( t ) + k +m .Nk +1,m1 ( t ) Nk,m ( t ) = t t k +m1 t k k +m t k +1 sendo: vetor de ns T = (t0, t1, t2, ...), (L + 1) pontos de controle pk e m a ordem das funes BSplines. A frmula acima uma definio recursiva para construo de uma funo de ordem m a partir de duas funes B-spline de ordem m 1. A funo de primeira ordem igual 1 dentro dos seguintes intervalos:
Nk,1(t) = 1 para tk< t tk+1 0 para outro intervalo t 2t .N1,1 ( t ) N 0,2 ( t ) = .N 0,1 ( t ) + 1 1

Um exemplo a forma da funo dada abaixo, que a primeira funo B-spline de ordem m=2, para os ns equidistantes. onde t para 0 t 1 N0,2(t) = 2 t para 1 t 2 0 para outro intervalo N0,2(t)

2-t

N1,2(t) um pulso triangular deslocado de uma unidade de t: Ni,2(t) = N0,2(t).(t i).

Para funes B-spline quadrticas (m = 3) baseadas nos mesmos ns equidistantes, necessrio t 3t .N 0,2 ( t ) + .N1,2 ( t ) 2 2 obter somente N0,3(t), pois as outras funes so somente translaes desta: O primeiro termo uma rampa vezes o primeiro pulso triangular, e o segundo termo uma rampa decrescente vezes o segundo pulso, produzindo duas parbolas coincidentes em uma extremidade. Quando os dois termos em N0,3(t) so somados, as extremidades desaparecem e o pulso resultante tem uma derivada contnua. O segmento mdio envolve a soma de duas quadrticas resultando: 0 para 0 t 1 1 2 para 1 t 2 .t 2 N0,3(t) = 3 3 2 para 2 t 3 t N 0,3 ( t ) =
4 2 1 2 .(3 t ) 2

para outro intervalo

N0,2(t)

N1,2(t)

t 1 2 3

As outras formas spline quadrticas, Nk,3(t) so obtidas facilmente quando os ns so equidistantes: se o n tk = k ento Nk,m(t) = N0,m(t k). A spline cbica talvez a spline mais utilizada frequentemente. N0,4(t) mostrado na figura abaixo simtrico ao redor de t=2 e pode ser representado compactamente como:
u.(1 t) para 0 t 1 v.(2 t) para 1 t 2 N0,4(t) = v.(t 2) para 2 t 3 u.(t 3) para 3 t 4 0 para outro intervalo onde os dois segmentos u( ) e v( ) so dados por: 1 3 u( t ) = .(1 t ) 6 1 v( t ) = . 3.t 3 6.t 2 + 4 6

N0,4(t)

2/3 v.(2 t) v.(t 2)

1/6

u.(1 t)

u.(t 3)

1 u.(t)

v(t)

2/3

1/6

O clculo das derivadas mostra que a primeira e segunda derivadas da spline cbica so contnuas. Baseado no raciocnio exposto nas funes anteriores, em geral a funo Nk,m(t) inicia em tk e termina em tk+m, seu suporte [tk, tk+m], e sempre positivo. Estes pontos de controle formam uma malha externa superfcie, e o controle que cada ponto exerce sobre a curva determinado pelos pesos associados a cada um, ou seja, a malha de controle destes pontos define a superfcie NURBS. Definio de uma Funo Spline:

Uma spline de grau m ou de m-simo grau um pedao polinomial de grau m que possui continuidade de derivadas de ordem m-1 em cada n. A equao y = A1.x3 + B1.x2 + C1.x + D1 um exemplo de uma funo spline cbica de y em funo de x. Matematicamente, esta funo tambm um pedao de polinmio, que consiste na juno de pedaos de outros polinmios, limitado em um determinado intervalo, tal que a continuidade da curva resultante desta funo satisfeita nos pontos de juno. As prprias splines podem ser utilizadas para definir uma curva. As Curvas Spline so uma mistura de vetores utilizando pedaos de polinmios, sendo contnua nos seus ns. As splines constitudas por polinmios de baixo grau so teis para o preenchimento de curvas pela reduo no tempo de processamento dos clculos e da instabilidade numrica presente em curvas de alto grau. Como polinmios de baixo grau podem no conectar determinados pontos, quando deseja-se que a curva passe por determinados pontos em uma interpolao, utiliza-se uma tcnica unindo uma srie de segmentos de spline (geralmente spline cbica), com cada segmento conectando somente dois pontos.
pontos de preenchimento da curva

pedaos de polinmios

Caso seja possvel para as funes de mistura spline assumirem outras formas e havendo L+1 pontos de controle p0, p1,...., pL; associando cada um destes pontos uma funo de mistura Rk(t) a curva dada por:
p( t ) = p k .R k ( t )
k =0 L

Esta formulao pode ser utilizada para curvas de Bezier e curvas quadrticas spline. Para manter manusevel a famlia de formas das possveis funes de mistura, cada funo Rk(t) deve ser um pedao de polinmio contnuo sendo tambm contnuo em cada n. Ento a curva total p(t) uma soma de funes spline ponderada pelos pontos de controle, com a condio dos segmentos definirem esta curva como contnua. Tal curva chamada de curva spline. Existem famlias de funes de mistura que podem ser utilizadas para gerar qualquer curva spline para um determinado vetor de ns. Tais famlias so chamadas de base para as splines, com o significado de que toda e qualquer curva spline pode ser obtida pela frmula geral acima com os pontos de controle adequados. Existem muitas famlias de funes de mistura que so bases, mas existe uma em especial que oferece o menor suporte e conseqentemente o melhor controle local: so as Basis-splines, ou apenas B-splines.As curvas spline so definidas por:
p( t ) = p k .N k ,m ( t )
k =0 L

E as funes B-spline por:

sendo:

t tk t t .Nk,m1 ( t ) + k +m .Nk +1,m1 ( t ) Nk,m ( t ) = t t k +m1 t k k +m t k +1 tk os valores do parmetro definido nos ns e dado pelo vetor de ns T = (t0, t1, t2, ...); k = 0, 1, 2, ..., L; sendo o nmero de pontos de controle igual a (L+1); m a ordem das funes B-Splines.

Relembrando que a ordem indica o nmero de termos no polinmios, ou seja, o grau do polinmio adicionado de uma unidade; se a ordem dos polinmios de uma funo b-spline 3, o grau destes mesmos polinmios 2; se a ordem 4, o grau do polinmio 3 e assim por diante. A frmula acima uma definio recursiva para a construo de uma funo de ordem m a partir de duas funes B-spline de ordem m 1. A funo de primeira ordem igual 1 dentro dos seguintes intervalos: Nk,1(t) = 1 para tk< t tk+1 0 para outro intervalo t 2t N 0,2 ( t ) = .N 0,1 ( t ) + .N1,1 ( t ) 1 1 Um exemplo a forma da funo dada abaixo, que a primeira funo B-spline de ordem m=2, para os ns equidistantes. onde t para 0 t 1 N0,2(t) N0,2(t) = 2 t para 1 t 2 0 para outro intervalo N1,2(t) um pulso triangular deslocado de uma unidade de t: Ni,2(t) = N0,2(t).(t i).
t 2-t

Do que foi exposto acima possvel deduzir que a escolha dos valores dos parmetros para uma superfcie spline de tal importncia a ponto de alterar a preciso e a qualidade final da superfcie. Na gerao de uma superfcie, pode-se utilizar valores de parmetros que variam uniformemente, como t = 0, 1, 2, 3,...... Nos casos de interpolao, em que a superfcie a ser gerada deve passar ou aproximar um conjunto de pontos, a uniformidade na distribuio dos parmetros pode resultar em impreciso ou m qualidade na forma final da superfcie, caso os pontos fornecidos para a interpolao tenham uma distribuio no uniforme. Neste caso, valores de parmetros que acompanhem esta distribuio so mais convenientes. Nas figuras abaixo nota-se a diferena na escolha da distribuio dos valores do parmetro: na figura a dado o conjunto de pontos a ser interpolado, e as figuras c e d mostram a imagem final com a distribuio uniforme e no uniforme dos valores do parmetro. A distribuio no uniforme apresenta uma qualidade final melhor porque os pontos fornecidos para a imagem concentram-se principalmente em detalhes, como as curvas que formam contornos de faces e extremidades.

B-SPLINES
Para possibilitar um melhor controle local e a mudana de grau da curva resultante as funes de mistura so substitudas pelas funes base B-spline (Basis spline) definidas por:
Nk,1(t) = 1 para tk< t tk+1 0 para outro intervalo

t tk Nk,m ( t ) = t k +m1 t k

t t .Nk,m1( t ) + k +m .Nk +1,m1( t ) t k +m t k +1

t 2t N0,2 (t) = . N0 ,1 (t) + . N1,1 (t) 1 1


Sendo: T = (t0, t1, t2, ...) : vetor de ns; (k + 1) : nmero de pontos de controle; m : ordem das funes B-Splines.

SUPERFCIES NURBS - NON UNIFORM RATIONAL B-SPLINE

w
S(u, v) =
i = 0 j= 0 n m i=0 j=0

i,j

Pi,j Ni,p (u) N j,q (v)


i, j

Ni,p (u) N j,q (v)

- wi,j so os pesos; - Pi,j so os pontos que formam uma rede de controle da superfcie; - Ni, p(u) e Nj, q(v) so as funes base B-Spline normalizadas de grau p e q nas direes u e v respectivamente definidas por: Ni , 0(u) = 1 se ui u < ui+1; 0 caso contrrio;

N i ,p (u ) =

u i + p +1 u u ui N i ,p1 (u ) + N i +1,p1 (u ) u i+p u i u i + p +1 u i +1

* a construo de Nj, q(v) similar; - u e v so os valores dos ns que definem as direes da curva, fornecidos pelos vetores de ns: U={0, 0,..., 0, up+1,..., ur-p-1, 1, 1,..., 1}; V={0, 0,..., 0, vq+1,..., vs-q-1, 1, 1,..., 1};

g(t) junes

b(t)

a(t) c(t)

amplitude ns suporte t

Ns: valores do parmetro nos quais ocorre a juno dos pedaos de polinmio; Suporte: intervalo no qual a funo diferente de zero; Amplitude: intervalo de valores do parmetro que definem um pedao polinomial; Junes: pontos de unio dos pedaos polinomiais definidos pelo valor do parmetro t e da funo g(t);

* Para uma superfcie necessrio uma matriz de ns para as curvas que compem a superfcie em duas direes (ou dois vetores de ns). As superfcies NURBS so formadas por curvas que satisfazem as condies de uma curva NURBS nos dois sentidos (ou direes) de formao da superfcie.

Vantagens Oferecem uma forma matemtica comum para a representao de design de formas analticas (cnicas, qudricas, superfcies de revoluo,...) e superfcies de forma livre (a mo livre). Deste modo, formas analticas e formas livres so representadas precisamente, e podem ser armazenadas em um banco de dados unificado; Pela manipulao dos pontos de controle assim como os pesos, fornecem a flexibilidade para o design de uma grande variedade de formas; A evoluo razoavelmente rpida e computacionalmente estvel; Possuem interpretaes geomtricas claras, tornando-as teis para designers que possuem um bom conhecimento em geometria especialmente geometria descritiva; Fornecem um poderoso tool kit (insero/refinamento/remoo de ns, elevao do grau, diviso, ...) o qual pode ser utilizado para design, anlise, processo e objetos de interrogao; So invariantes sob mudana de escala, rotao, translao e cortes assim como na projeo perspectiva e paralela; So generalizaes genunas das formas B-spline no racionais assim como das superfcies de Bezier racionais e no racionais.

Desvantagens Armazenamento extra necessrio para definir superfcies tradicionais. Como exemplo, para representar um crculo inteiro so necessrios sete pontos de controle formando um quadrado e dez ns enquanto a representao tradicional requer somente o raio, centro e o vetor normal ao plano que contm o crculo. Em 3D, significa armazenar 38 nmeros ao invs de sete; Aplicao imprpria dos pesos pode resultar em uma parametrizao muito ruim que pode destruir construes subseqentes da superfcie; Algumas tcnicas de interrogao trabalham melhor com formas tradicionais do que com NURBS. Um exemplo a interseo de superfcies em que particularmente difcil manusear casos de toque correto ou envoltrio; Algoritmos fundamentais, como mapeamento de ponto inverso, so sujeitos instabilidade numrica.

Das könnte Ihnen auch gefallen