• Nenhum resultado encontrado

Curvas e Superfícies

N/A
N/A
Protected

Academic year: 2021

Share "Curvas e Superfícies"

Copied!
29
0
0

Texto

(1)

Curvas e Superfícies

Bezier, Splines, NURBS e

Subdivididas

Requisito 1: Independência de eixos

x

y

x'

y'

(2)

Requisito 2: Valores Múltiplos

x

y

Requisito 3: Controle Local

x

y

(3)

Requisito 4: Pouca Oscilação

polinômio de grau elevado

(4)

Requisito 5: Versatilidade

Requisito 6: Amostragem Uniforme

Ds1 Ds2 Ds3 Ds4 Dsn

Ds

i

» Ds

j

Requisito 7:

Formulação matemática tratável

Finalizando:

(5)

Solução

Curva representada por partes através de polinômios de grau baixo (geralmente 3)

z z z z y y y y x x x x d t c t b t a t z d t c t b t a t y d t c t b t a t x + + + = + + + = + + + = 2 3 2 3 2 3 ) ( ) ( ) ( [ ] [u u] global u ou local t n , 1 , 0 0 Î Î t=0 t=1 Parametrização t=0 t=1 t=0 t=1t=0 t=1 u0 u1 u2 un z z z z y y y y x x x x d t c t b t a t z d t c t b t a t y d t c t b t a t x + + + = + + + = + + + = 2 3 2 3 2 3 ) ( ) ( ) ( continuidade no ponto comum dos trechos

! = # − #%

em cada trecho:

Interpretação física (cinemática)

de uma curva paramétrica

!

"

#

$ = 0 $

' $ =

!($)

"($)

#($)

Derivada paramétrica: ̇! $ =+,+-, ̇" $ =+/+-, ̇# $ =+0

+-1 $ =

̇! ($)

̇"($)

̇# ($)

(6)

Geometria Diferencial

!

"

#

$ = 0 $

' $ =

!($)

"($)

#($)

s = comprimento de arco

* $ =

̇! ($)

̇"($)

̇# ($)

=

,-,. ,/ ,. ,0 ,.

v

123$â5627: 3 = 3($)

9:;<62171:: 9 =

13($)

1$

̇! $ =

,-,=

=

,-,.,.,=

, …

> 3 =

,-,. ,/ ,. ,0 ,. vetor unitário

Geometria Diferencial

s P(u) ) ( ) ( Pu du d u R! = ! ou P(s) ) ( ) ( ˆ Ps ds d s T = ! ou u

T

du

ds

R

!

=

ˆ

) (u s s=

R

du

ds

=

!

(7)

Requisitos da parametrização

P0 P1 P(u) P(u) (1 u)P0 uP1 ! ! ! + -= 1 0 ( ) )) ( 1 ( ) (u f u P f u P P! = - ! + ! (1-u) ua (1-f(u)) f(u) ub ua ub 0 1 0 ) (u = P du d !

Se

u

2

>

u

1

Þ

s

(

u

2

)

>

s

(

u

1

)

u

caso contrário o ponto vai e vem na curva!

Continuidade Geométrica e

Paramétrica

Descontínua Contínua: C0e G0 ) 1 ( ) 0 ( 2 1 R R! =! Contínua: C1e G1 ) 1 ( ) 0 ( 2 1 T T! = !

C

0

e G

1 ) 1 ( ) 0 ( 2 1 R R! ¹ ! Geométrica ) 1 ( ) 0 ( 2 1 T T! ¹ !

C

1

e G

0 0 ) 1 ( ) 0 ( 2 1 = R = R! ! Paramétrica

(8)

Curvas de Bézier

P. de Casteljau, 1959 (Citroën)

P. de Bézier, 1962 (Renault) - UNISURF Forest 1970: Polinômios de Bernstein

i i n n i

t

t

i

n

t

B

-

-÷÷

ø

ö

çç

è

æ

=

(

1

)

)

(

,

å

=

=

n i i n i

t

V

B

t

P

0 ,

(

)

)

(

!

!

x P(t) y z t=0 t=1 V0 V1 V2 V3 Vn-1 Vn onde:

)!

(

!

!

i

n

i

n

i

n

-=

÷÷

ø

ö

çç

è

æ

coef. binomial pol. Bernstein

Bézier Cúbicas

3 0 0 3 3 , 0 (1 ) (1 ) 0 3 ) (t t t t B ÷÷ - = -ø ö çç è æ =

-x

P(t)

å

= = 3 0 3 , ( ) ) ( i i i t V B t P! !

y

z

V0 V1 V2 V3 t t t t t B 31 1 2 3 , 1 (1 ) 3(1 ) 1 3 ) ( ÷÷ - = -ø ö çç è æ = -2 2 2 3 3 , 2 (1 ) 3(1 ) 2 3 ) (t t t tt B ÷÷ - = -ø ö çç è æ = -3 3 3 3 3 , 3 (1 ) 3 3 ) (t t t t B ÷÷ - = ø ö çç è æ = -=

å

i i t B,3()

[

(1 )

]

1 3= + -t t 3 3 2 2 1 2 0 3

3

(

1

)

3

(

1

)

)

1

(

)

(

t

t

V

t

t

V

t

t

V

t

V

P

!

=

-

!

+

-

!

+

-

!

+

!

(9)

Polinômios Cúbicos de Bernstein

1 1 0 t B0,3 (1-t)3 3 1 0 t B1,3 3(1-t)2t 1 1 0 t B3,3 t3 1 0 t B2,3 3(1-t) t2 -3 1 1 0 t B0,3 + B1,3 + B2,3 + B3,3

Propriedades da Bézier Cúbica

3 3 2 2 1 2 0 3 3(1 ) 3(1 ) ) 1 ( ) (t t V t tV tt V t V P! = - ! + - !+ - !+ !

[

2

] [

1 2

]

2 3 3 0 2 6(1 ) 3(1 ) 3 6(1 ) ) 1 ( 3 ) (t t V tt t V t ttV t V P dt d ! =- - ! +- - + - ! +- + - ! + ! 0 ) 0 ( V P! = ! 3 ) 1 ( V P! = ! 1 0 3 3 ) 0 ( V V P dt d ! =- ! + ! 3 2 3 3 ) 1 ( V V P dt d ! =- ! + ! x P(t) y z V0 V1 V2 V3 R(0) R(1)

(10)

Controle da Bézier Cúbica

Fecho Convexo

1 ) ( 0 0 = =

å

å

= = n i i n i i iV com t P!

a

!

a

(11)

Equação do Foley

ú ú ú ú ú û ù ê ê ê ê ê ë é ú ú ú ú û ù ê ê ê ê ë é -= z y x z y x z y x z y x V V V V V V V V V V V V t t t t P 3 3 3 2 2 2 1 1 1 0 0 0 2 3 0 0 0 1 0 0 3 3 0 3 6 3 1 3 3 1 1 ) ( !

)

(t

P

!

0

V

!

1

V

!

V

2

!

3

V

!

3 3 2 2 1 2 0 3

3

(

1

)

3

(

1

)

)

1

(

)

(

t

t

V

t

t

V

t

t

V

t

V

P

!

=

-

!

+

-

!

+

-

!

+

!

Redução de n=3 para n=2

3 3 2 2 1 2 0 3

3

(

1

)

3

(

1

)

)

1

(

)

(

t

t

V

t

t

V

t

t

V

t

V

P

!

=

-

!

+

-

!

+

-

!

+

!

1 0 1 0

(

t

)

(

1

t

)

V

t

V

V

!

=

-

!

+

!

2 1 1 1(t) (1 t)V tV V! = - ! + ! 3 2 1 2

(

t

)

(

1

t

)

V

t

V

V

!

=

-

!

+

!

1 2 2 1 1 1 0 2

2

(

1

)

)

1

(

)

(

t

t

V

t

t

V

t

V

P

!

=

-

!

+

-

!

+

!

[

]

[

]

[

2 3

]

2 2 1 1 0 2

)

1

(

)

1

(

)

1

(

2

)

1

(

)

1

(

)

(

V

t

V

t

t

V

t

V

t

t

t

V

t

V

t

t

t

P

!

!

!

!

!

!

!

+

-+

+

-+

+

-=

)

(

1 0

t

V

!

) ( 1 1 t V! ) ( 1 2 t V! Bezier n=2

(12)

Redução de n=2 para n=1

1 1 1 0 2 0

(

t

)

(

1

t

)

V

t

V

V

!

=

-

!

+

!

1 2 2 1 1 1 0 2

2

(

1

)

)

1

(

)

(

t

t

V

t

t

V

t

V

P

!

=

-

!

+

-

!

+

!

[

] [

1

]

2 1 1 1 1 1 0

(

1

)

)

1

(

)

1

(

)

(

t

t

t

V

t

V

t

t

V

t

V

P

!

=

-

-

!

+

!

+

-

!

+

!

Bezier n=1 1 2 1 1 2 1(t) (1 t)V tV V! = - ! + ! 1 1 2 0

)

1

(

)

(

t

t

V

t

V

P

!

=

-

!

+

!

1 0

V

!

1 1 V! 1 2 V! 2 0

V

!

2 1 V!

)

(t

P

!

Cálculo de um Ponto

1 0

V

!

1 1

V

!

1 2

V

!

2 0

V

!

2 1

V

!

)

(t

P

!

0

V

!

1

V

!

2

V

!

3

V

!

1 1

V

!

1 0

V

!

1 2

V

!

2 0

V

!

2 1 V!

P

(t

)

!

(1-t) t

)

(

)

(

)

1

(

)

(

, 1 1, 1 ,

t

t

B

t

t

B

t

B

in

=

-

in-

+

i- n -Mostre que: 0

V

!

1

V

!

V

2

!

3

V

!

(13)

Subdivisão de Bézier Cúbicas

ú ú ú ú ú û ù ê ê ê ê ê ë é ú ú ú ú û ù ê ê ê ê ë é = ú ú ú ú ú û ù ê ê ê ê ê ë é 3 2 1 0 3 2 1 0 1 3 3 1 0 2 4 2 0 0 4 4 0 0 0 8 8 1 V V V V V V V V L L L L ! ! ! ! ! ! ! ! ú ú ú ú ú û ù ê ê ê ê ê ë é ú ú ú ú û ù ê ê ê ê ë é = ú ú ú ú ú û ù ê ê ê ê ê ë é 3 2 1 0 3 2 1 0 8 0 0 0 4 4 0 0 2 4 2 0 1 3 3 1 8 1 V V V V V V V V R R R R ! ! ! ! ! ! ! ! 1 0 1 2 1 2 1 V V V!L = ! + ! . . . L V!1 H! 0 0 V V!L= ! 1 V! 2 V! L V!2 R L V V3 0 ! ! = R V!1 R V!2 3 3 V V!R= !

Construção de uma Bezier

u=1/2

(14)

Curve fitting

3 3 2 2 1 2 0 3 3(1 ) 3(1 ) ) 1 ( ) (t t V t tV tt V t V P! = - ! + - !+ - ! + !

[

2

] [

1 2

]

2 2 3 0 2 3(1 ) 6(1 ) 6(1 ) 3 3 ) 1 ( 3 ) (t t V t ttV tt t V t V P dt d ! =- - !+ - - - !+ - - ! + ! 3 2 2 2 1 2 0 2 3(3 4 1) 3( 3 2) 3 ) 1 ( 3 -t V! + t - t+ V!+ -t + t V! + t V! -= 3 2 2 1 0 2 2 3 ) 2 6 ( 3 ) 4 6 ( 3 ) 1 ( 6 ) (t t V t V t V t V P dt d ! = - ! + - !+ - + ! + !

(

0 1 2

)

2 1 0 2 2 2 6 6 12 6 ) 0 ( V V V V V V P dt d ! ! ! ! ! ! ! + -= + -=

(

1 2 3

)

3 2 1 2 2 2 6 6 12 6 ) 1 ( V V V V V V P dt d ! = !- ! + ! = !- ! +!

(

1 0

)

1 0 2 3 3 3 ) 0 ( V V V V P dt d ! =- ! + ! = !-!

(

3 2

)

3 2 2 3 3 3 ) 1 ( V V V V P dt d ! =- !+ ! = !- !

Nova notação

0 V 1 -nc p 2 -nc r 0 p 1 p 1 -n p 2 -nc p 0 r 1 r 1 -n r 1 -nc l 1 -n l 1 l 2 -nc l 1 V 2 V 3 V 4 V 5 V V6 V7 4 -n V n-3 Vn-1 Vn V Vn-2

(15)

Derivadas na nova notação

1 3 1 2 2 3 3(1 ) 3(1 ) ) 1 ( ) ( = - i+ - i+ - i+ + i+ i t t t t tt t P! p r l p

(

1

)

2 2 2 6 ) 0 ( = i- i+ i+ i P dt d ! p r l

(

1 1

)

2 2 2 6 ) 1 ( = i- i+ + i+ P dt d p l r !

(

i i

)

i P dt d !(0)= 3 r-p

(

1 1

)

3 ) 1 ( = i+ - i+ i P dt d l p !

x

y

z

)

(t

P

!

i i p i r 1 + i l 1 + i p

Construção de uma curva que passa

por 2 pontos

n=2

0 ) 0 ( '' = P! 0 ) 1 ( '' = P 0 p 1 p 0 r 1 l

(

2

)

0 6p0- r0+l1 =

(

2

)

0 6 r0- l1+p1 =

(

1 0

)

0 3 1 p p r =

-(

1 0

)

1 3 2 p p l =

(16)

-Construção de uma curva que passa

por 3 pontos

0 p 0 r 2 p 1 r 1 p 1 l 2 l 0 2 0 1 0- r +l = p 0 ) 0 ( '' 0 = P! 0 ) 1 ( '' 1 = P! 0

!

1

!

0 2 2 2 1- l +p = r 1 1 1 ) 1 ( -rl +rr =p 1 0 0 ! ! ! + = r ÷÷ ÷ ÷ ÷ ø ö çç ç ç ç è æ = ÷÷ ÷ ÷ ÷ ø ö çç ç ç ç è æ ú ú ú ú û ù ê ê ê ê ë é -2 1 0 2 1 1 0 0 2 1 0 0 1 2 2 1 0 ) 1 ( 0 0 0 1 2 p p p l r l r r r ) 0 ( '' ) 1 ( '' 1 0 P P! =! 2 1 1 1 1 0 2l p p 2r l r - + = - +

Método contrutivo: dados n pontos

acrescentar mais um

0 p 1 p 1 -n p n p 1 + n p 0 r 1 r n r 1 -n r 1 + n l 1 -n l 1 l n l 1 0 0 ! ! ! + = r n n n r p l + = -r) r 1 ( 1 1 2 2 + - - n+ n= n- n+ n n l p p r l r 0 2 1+ 1= - n+ n+ n l p r ÷ ÷ ÷ ø ö ç ç ç è æ -= ÷ ÷ ÷ ø ö ç ç ç è æ ú ú ú û ù ê ê ê ë é -+ -+ 1 1 1 2 1 0 1 2 2 0 ) 1 ( n n n n n n p r p l r l r r

(17)

Interpolação: dados p

0

…p

n

ache l’s e r’s

1 p 1 -n p n p 1 + n p 0 r 1 r n r 1 -n r 1 + n l 1 -n l 1 l n l 0 p 0 d 1 d 2 d dnp-2

Bezier interpolation

0 p 1 p 2 p 2 -np p 1 -np p 0 r 1 r 2 -np r 2 r 1 -np l 2 l 1 l 2 -np l Given: np points 1 1 0,p, ,pnp -p ! Find: 2(np-1) points 1 2 1,l, ,lnp -l ! 2 1 0,r, ,rnp -r ! Criteria: 0 ''0= p Þ 6

(

p0-2r0+l1

)

=0 Þ 2r0-l1=p0 0 ''np-1= p Þ6

(

rnp-2-2lnp-1+pnp-1

)

=0Þ -rnp-2+2lnp-1=pnp-1 right i i left i i d dp' = -1p' Þ 3di

(

pi-li

)

=3di-1

(

ri-pi

)

Þ dili+di-1ri=(di-1+di)pi right i left i'' p '' p = Þ6

(

ri-1-2li+pi

) (

=6pi-2ri-1+li

)

Þ -ri-1+2li-2ri-1+li=0

(18)

Bezier interpolation

Criteria: 0 1 0 2r -l=p 1 1 2 2 - -- + = -rnp lnp pnp i i i i i i il d d d d + -1r=( -1+ )p 0 2 2 1 1+ - + = -ri- li ri- li ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ø ö ç ç ç ç ç ç ç ç ç ç ç è æ + + + = ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ø ö ç ç ç ç ç ç ç ç ç ç ç è æ ú ú ú ú ú ú ú ú ú ú ú û ù ê ê ê ê ê ê ê ê ê ê ê ë é -1 2 2 3 2 2 1 1 1 0 0 1 2 2 2 2 1 1 0 1 2 1 2 0 1 0 ) ( 0 ) ( 0 ) ( 2 1 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 n n n n nc nc nc n n d d d d d d l l l l d d d d d d p p p p p r r r r 2 -np r 0 d 1 d 2 d dnp-2 0 p 1 p 2 p 2 -np p 1 -np p 0 r 1 r 2 r 1 -np l 2 l 1 l 2 -np l

resulting linear system:

solve for l and r

Bezier surface (from cross section curves)

x y z N S E W

conventions and notations

x z 00 p ij p 0 ,1 -np p 00 e ij e ij w ij n 0 ,1 -np n 00 ne ij ne ij nw ij s seij ij sw i=0,…,np-1 j= 0, ,n c-1 00 n 01 p 10 p

(19)

Bezier surface (from cross section curves)

1 , 1 0, i, , inc -i p p p ! ni0,ni1,!,ni,nc-2 1 , 1 1, i, , inc -i s s s ! 1 , 1 0, i, , inc -i e e e ! nei0,nei1,!,nei,nc-2 1 , 1 1, i, , inc -i se se se ! 1 , 1 0, i, , inc -i w w w ! nwi0,nwi1,!,nwi,nc-2 1 , 1 1, i, , inc -i sw sw sw ! i=0,…,np-1 i=0,…,np-2 i=1,…,np-1 N S E W x z 00 p ij p 0 ,1 -np p 00 e ij e ij w ij n 0 ,1 -np n 00 ne ij ne ij nw ij s seij ij sw i=0,…,np-1 j= 0, ,n c-1 00 n 01 p 10 p

Bezier surface rendering

L V1 ! H! 0 0 V V!L=! 1 V! 2 V! L V2 ! R L V V3 0 ! ! = R V1 ! R V2 ! 3 3 V V!R=! 4x4 7x7 7x4 4(4x4)

(20)

B-Splines

• vértices + nós 0 V! 1 V! 2 V! 3 V! V4 ! n V! + + + + + + ) (u P! i n i ip V u N u P!

å

! = = 0 , ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1, 1 1 1 1 1 , , u u N u u u u N u u u u u N i p i p i p i p i i p i i p i + -+ + + + + -+ -+ -= . 1 0 0 : . pordefinição obs =

p = grau do polinômio Ni,p(u)

controla a continuidade ( Cp-1 ) u0 £u1£ u2 ££ um î í ì Î = + contrário caso u u u se u N i i i 0 ) [ 1 ) ( 1 0 , U={u0, u1, ..., um} m=n+p+1 u0 u2 ui ui+1 ... um u Ni,0(u) u1 ... ui= nós (knots)

[ui,ui+1] = trechos (spans)

Propriedades de N

i,p

(u)

• Não negativa: Ni,p(u)³0 para qualquer u, i, e p.

• Partição da unidade:å Ni,p(u)=1 para todo uÎ[u0,um].

• Suporte local: Ni,p(u)=0 se uÏ[ui, ui+p+1]. Mais ainda,

in qualquer intervalo dos nós no máximo p+1 das

Ni,p(u) são não zero.

• Diferenciabilidade: todas as derivadas de Ni,p(u)

existem no interior de um intervalo de nós (onde é

polinômial) . Nos nós Ni,p(u) é p-k diferenciável, onde k

é a multiplicidade do nó.

• Extremo: exceto para o caso p=0, Ni,p(u) tem apenas

(21)

Spline Uniforme

) ( ) ) 1 ( ( ) ( ) ( ) ( , 1 1, 1 , N u pd u d p u u N pd u u u Nip i ip- i i+ p -+ + + -=

u

j+1

- u

j

=d

) ( ) ( ) ( ) ( ) ( ) ( ) ( 1, 1 1 1 1 1 , , N u u u u u u N u u u u u N i p i p i p i p i i p i i p i + -+ + + + + -+ -+ -=

Splines Uniformes

p=0 e p=1

î í ì Ï Î = + + ) [ 0 ) [ 1 ) ( 1 1 0 , i i i i i se u u u u u u se u N p=0 0 ui-d ui ui+d ... n Ni,0(u) ... p=1

(

)

ï ï ï î ïï ï í ì Î Î -+ Î - Î = + + + + ] [ 0 ) [ ) 2 ( ) [ ) 0 [ 0 ) ( 2 2 1 1 1 , m i i i i i i i i i u u u se u u u se d u d u u u u se d u u se u u u N ) ( ) 2 ( ) ( ) ( ) ( , 1 1, 1 1 , N u d u d u u N d u u u Ni i ip- i i+ p -+ + -= Ni,2(u) u-d u u+d u+2d

(22)

Splines Uniformes

p=2

Ni,1(u) Ni+1,1(u) Ni-1,1(u) ï ï ï ï ï ï î ïï ï ï ï ï í ì Î Î -+ -Î + -+ + -+ -Î -Î = + + + + + + ] , [ 0 ) , [ 2 ) 3 ( ) , [ 2 )) ( )( 3 ( ) 2 )( ( ) , [ 2 ) ( ) , 0 [ 0 ) ( 3 3 2 2 2 2 1 2 1 2 2 2 , 1 m i i i i i i i i i i i i i i u u u se u u u se d u d u u u u se d d u u u d u u d u u u u u u se d u u u u se u N ui-d ui ui+d ui+2d ui+3d p=2 ( ) 2 ) 3 ( ) ( 2 ) ( ) ( ,1 1,1 2 , N u d u d u u N d u u u Ni i i i i+ -+ + -=

Polinômios da B-Spline Uniforme

u ui ui+d ui+2d ui+3d ui+4d

Ni,0 (u) 0 1 0 0 0 0

Ni+1,0 (u) 0 0 1 0 0 0

Ni,1 (u) 0 (u-ui) (ui+2d-u) 0 0 0

Ni+1,1 (u) 0 0 (u-(ui+d)) (ui+3d-u) 0 0

Ni,2 (u) 0 (u-ui)2/2d2 (u-ui)(ui+2d-u)/2d 2 +

(ui+3d-u)(u-(ui+d))/2d2 (ui+3d-u)

2/2d2 0 0

Ni+1,2 (u) 0 0 (u-(ui+d))2/2d2 (u-(ui+d))(ui+3d-u)/2d 2 +

(ui+4d-u)(u-(ui+2d))/2d2 (ui+4d-u)

2/2d2 0

Ni,3 (u) 0 (u-ui)3/6d3

[(u-ui)2(ui+2d-u) +

(u-ui)(ui+3d-u)(u-(ui+d))

+(ui+4d-u)(u-(ui+d))2 ]

/6d3

[(u-ui) (ui+3d-u)2 +

(ui+4d-u)(u-(ui+d))(ui+3d-u)

+ (ui+4d-u)2(u-(ui+2d))]/6d2

(ui+4d-u)3/6d3 0

t t=(u-ui)/d t = (u-(ui+d))/d t = (u-(ui+2d))/d t=(u-(ui+3d))/d

Ni,3 (t) 0 t6/6 (-3t3+3t2+3t+1)/6 (3t3-63t2+4)/6 (1-t)3/6 0 ) ( ) ) 1 ( ( ) ( ) ( ) ( , 1 1, 1 , N u pd u d p u u N pd u u u Nip i ip- i i+ p -+ + + -=

(23)

Segmentos da B-spline cúbica

p(t)

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,0 0,2 0,4 0,6 0,8 1,0

t

t3/6 (-3t3+3t2+3t+1)/6 (3t3-6t2+4)/6 (1-t)3/6

Funções da base

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 u1 u2 u3 ... um-4 u0 um-3 um-2 u N0,3(u) N2,3(u) N-1,3(u) ... t 2 3 1 2 3 2 3 1 3 6 6 1 3 3 3 6 4 6 3 6 ) 1 ( ) ( - + + + + + + -+ + -+ -= i i i i i V t V t t t V t t V t t P! ! ! ! ! For i = 0, ..., n For t = 0, ..., 1 Nn-1,3(u) um-1 um N1,3(u) i=0 t i=1 t i=n Nn,3(u) Nn+1,3(u)

(24)

B-Spline Periódica

Foley

-ú ú ú ú ú û ù ê ê ê ê ê ë é ú ú ú ú û ù ê ê ê ê ë é -= + + + + + + -z i y i x i z i y i x i z i y i x i z i y i x i V V V V V V V V V V V V t t t t P , 3 , 3 , 3 , 2 , 2 , 1 , , , , 1 , 1 , 1 2 3 0 1 4 1 0 3 0 3 0 3 6 3 1 3 3 1 1 ) ( !

Para cada par Vi, Vi+1, i=0,...,n Para cada t=0,...,1 Periódica: i=0, ... , n V-1= Vn Vn+1= V0 Vn+2= V1 Vn+1= V0 Vn+2=V1 V2 V3 V4 V-1= Vn

B-Spline Não Periódica

Foley

-• vértices + nós 0 V! 1 V! 2 V! 3 V! n-1 V! n V! + + + + + + i=0 i=1 i=2 i=3 1 V! i=n-1 Vn-1 ! 1 -n V! i=0 P(0) = (V-1+ 4V0+ V1)/6 P’’(0) = V-1 -2V0+ V1 = 0 ÞV-1= 2V0- V1 i=0; P(0) = V0 i=n-1 P(1) = (Vn-1+ 4Vn+ Vn+1)/6 P’’(1) = Vn-1-2Vn+ Vn+1 ÞVn+1= 2Vn- Vn-1 i=n-1; P(1) = Vn

(25)

Base Periódica

B-Spline Cúbica Uniforme Periódica

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.0 0.2 0.4 0.6 0.8 1.0 u N( u,i ,p) N(u,0,3) N(u,1,3) N(u,2,3) N(u,3,3) N(u,4,3) N(u,6,3) N(u,7,3) U = {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} V-1= V7 V8= V0 V9= V1 V2 V3 V4 V-3=V5 V-2= V6 i=0 i=1

i=2 i=3 i=4 i=5 i=6 i=7 ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1, 1 1 1 1 1 , , u u N u u u u N u u u u u N i p i p i p i p i i p i i p i ++ + + -+ + -+ -+ -=

Base Não Periódica

B-Spline Cúbica Uniforme e Aperiódica

0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 u N(u ,i ,p ) N(u,0,3) N(u,1,3) N(u,2,3) N(u,3,3) N(u,4,3) N(u,6,3) N(u,7,3) U= {0, 0, 0, 0, 1/4, 2/4, 3/4, 1, 1, 1, 1} ) ( ) ( ) ( ) ( ) (u u u N u u 1 u1N u N = i+p-i - + i+p+- i+ +

(26)

-Bézier e B-Spline

Bézier através da B-Spline Cúbica U ={0,0,0,0,1,1,1,1} 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 u N(u ,i ,p ) N(u,0,3) N(u,1,3) N(u,2,3) N(u,3,3) ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1, 1 1 1 1 1 , , u u N u u u u N u u u u u N i p i p i p i p i i p i i p i ++ + + -+ + -+ -+ -=

B-Spline Periódica

Interpolação

-Vn+1= V0 Vn+1=V1 V2 V3 V4 V-1= Vn Para i=0,..., n Pi(0) = (Vi-1+ 4Vi+ Vi+1)/6; P0(0) P1(0) P2(0) P3(0) P4(0) Pn(0) Considere os nós como os pontos dados

ï ï ï ï þ ïï ï ï ý ü ï ï ï ï î ïï ï ï í ì = ï ï ï ï þ ïï ï ï ý ü ï ï ï ï î ïï ï ï í ì ú ú ú ú ú ú ú ú û ù ê ê ê ê ê ê ê ê ë é n n P P P P P P V V V V V V ! ! ! ! ! ! ! ! ! ! ! ! 4 3 2 1 0 4 3 2 1 0 4 1 0 0 0 1 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 1 0 0 0 1 4 6 1 • vértices + nós

(27)

B-Spline Não Periódica

Foley

-• vértices + nós 0 V! 1 V! 2 V! 3 V! n-1 V! n V! + + + + + + i=0 i=1 i=2 i=3 1 V! i=n-1 Vn-1 ! 1 -n V! P0= V0; Pn= Vn; Para i=1,..., n-1 Pi(0) = (Vi-1+ 4Vi+ Vi+1)/6; Considere os nós como os pontos dados

ï ï ï ï þ ïï ï ï ý ü ï ï ï ï î ïï ï ï í ì = ï ï ï ï þ ïï ï ï ý ü ï ï ï ï î ïï ï ï í ì ú ú ú ú ú ú ú ú û ù ê ê ê ê ê ê ê ê ë é n n P P P P P P V V V V V V ! ! ! ! ! ! ! ! ! ! ! ! 4 3 2 1 0 4 3 2 1 0 1 0 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 0 1 6 1

Funções Racionais

] 1 , 0 [ 1 2 , 1 1 ) ( 2 2 2 Î ÷÷ ø ö çç è æ + + -= u u u u u u P! 2 2 2 1 1 ) cos( 1 2 ) sin( ) 2 / tan( u u u u u + -= + = = a a a Da trigonometria: 0 0.2 0.4 0.6 0.8 1.0

(28)

Cônicas

c bt at et dt x c bt at e dt y ey dty cy bty y at ty x ey dx cy bxy ax + + + -= + + + -= = + + + + = = + + + + 2 2 2 2 2 2 2 2 2 0 0 x y

cônica qualquer escrita num sistema de eixos cuja origem é um ponto da cônica

Qualquer cônica pode ser representada parametricamente como uma fração de polinômios quadráticos

NURBS

Non Uniform Rational B-Splines

yh xh w w=1 x y ú ú ú ú û ù ê ê ê ê ë é = ú ú ú ú û ù ê ê ê ê ë é

å

= i i i i i i i n i ip w z w y w x w u N u w u z u w u y u w u x u w 0 , ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (

å

å

= = ï þ ï ý ü ï î ï í ì = ï þ ï ý ü ï î ï í ì n i i i i n k p k k p i i z y x u N w u N w u z u y u x 0 0 , , ) ( ) ( ) ( ) ( ) (

å

å

= = = ï þ ï ý ü ï î ï í ì = ï þ ï ý ü ï î ï í ì n i n k k kp p i i p i i i i p i u N w u N w u R onde z y x u R u z u y u x 0 0 , , , , ) ( ) ( ) ( ) ( ) ( ) ( ) (

(29)

Cônicas como NURBS

} 1 , 1 , 1 , 0 , 0 , 0 { ) ( ) ( : ) ( ) ( ) ( ) ( ) ( ) ( ) ( 2 , 2 , 2 2 , 2 1 2 , 1 0 2 , 0 2 2 2 , 2 1 1 2 , 1 0 0 2 , 0 = = + + + + = U com u N u B onde w u B w u B w u B V w u B V w u B V w u B u P i i ! ! ! ! 0 V! V2 ! 1 V! w0=1 w1=s/(1-s) w2=1 w1=0 0.2 -0.2 1 3 s Elipse (w 1<1) Parábola (w1=1) Hipérbola (w1>1) Faux et al. w0w2/w1 - determina a cônica 0 V! V2 ! 1 V! w0=1 w1=s/(1-s) w2=1 w1=0 0.2 -0.2 1 3 s Elipse (w 1<1) Parábola (w1=1) Hipérbola (w1>1) S! M! 1 2 1 ) 1 ( ) ( V s M s S e S P ! ! ! ! ! + -= =

Círculo através de NURBS

U={0, 0, 0, 1/4, 1/4, 1/2, 1/2, 3/4, 3/4, 1, 1, 1} { } ,1} 2 2 , 1 , 2 2 , 1 , 2 2 , 1 , 2 2 , 1 { = w

å

å

= = = þ ý ü î í ì = þ ý ü î í ì 8 0 8 0 2 , 2 , 2 , 2 , ) ( ) ( ) ( ) ( ) ( ) ( i k k k i i i i i i u N w u N w u R onde y x u R u y u x -1 -0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 n=8 p=2 m=12 (x0 , y0) (x1 , y1) (x2 , y2) (x3 , y3) (x4 , y4) (x5 , y5) (x 6 , y6) (x7, y7) (x8 , y8)

Referências

Documentos relacionados

Figura A53 - Produção e consumo de resinas termoplásticas 2000 - 2009 Fonte: Perfil da Indústria de Transformação de Material Plástico - Edição de 2009.. A Figura A54 exibe

Santa Maria, Mãe de Deus e Mãe nossa, Corredentora das almas, Rogai por nós pecadores, e derramai as graças eficazes da vossa Chama de Amor, de vosso Doloroso e Imaculado

O Diretor-Executivo fez referência às novidades que estavam levando à institucionalização do Código Comum e indicou que pediria orientação aos Membros e à JCSP sobre a natureza

Desta maneira, observando a figura 2A e 2C para os genótipos 6 e 8, nota-se que os valores de captura da energia luminosa (TRo/RC) são maiores que o de absorção (ABS/RC) e

Para alternar entre uma chamada por telefone de secretária e uma chamada por computador (ou vice-versa), basta premir o outro botão de conversação para atender a chamada recebida

2.1.6 O candidato que não obtiver a pontuação mínima exigida será considerado eliminado e, consequentemente, estará automaticamente eliminado do concurso.. 2.1.6 Serão chamados

O preço das ações ordinárias a serem adquiridas pelos beneficiários, em decorrência do exercício das opções, será fixado pelo Conselho de Administração da

botão direito do mouse sobre o programa “Microsoft Office Word 2007” / apontar para Enviar para / clicar em Área de Trabalho (Criar Atalho).. d) apontar para Todos os Programas