Curvas. Requisitos: Independência de eixos x y x' y'

Post on 17-Apr-2015

105 views 0 download

Transcript of Curvas. Requisitos: Independência de eixos x y x' y'

Curvas

Requisitos: Independência de eixos

x

y

x'

y'

Requisitos: Valores Múltiplos

x

y

Requisitos: Controle Local

x

y

Requisitos: Redução da Variação

polinômio de grau elevado

Requisitos: Continuidade Variável

Requisitos: Versatilidade

Requisitos: Amostragem Uniforme

s1

s2

s3

s4

sn

si sj

Formulação matemática tratável

Finalizando:

Solução

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

zzzz

yyyy

xxxx

dtctbtatz

dtctbtaty

dtctbtatx

23

23

23

)(

)(

)(

globaluuu

ou

localt

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

Geometria Diferencial

s

P(u)

)()( uPdu

duR

ou P(s)

)()(ˆ sPds

dsT

ou u

Tdu

dsR ˆ

)(uss

Rdu

ds

Requisitos da parametrização

P0

P1

P(u)10)1()( PuPuuP

10 )())(1()( PufPufuP

(1-u)

ua

(1-f(u)) f(u)

ubua

ub0

1

0)( uPdu

d

)()( 1212 ususuuSe

u

Continuidade Geométrica e Paramétrica

Descontínua Contínua: C0 e G0

)1()0( 21 RR

Contínua: C1 e G1

)1()0( 21 TT

C0 e G1

)1()0( 21 RR

Geométrica

)1()0( 21 TT

C1 e G0

0)1()0( 21 RR

Paramétrica

Curvas de Bézier

P. de Casteljau, 1959 (Citroën)P. de Bézier, 1962 (Renault) - UNISURFForest 1970: Polinômios de Bernstein

iinni tt

i

ntB

)1()(,

n

iini VtBtP

0, )()(

x

P(t)

y

z

t=0

t=1

V0

V1

V2

V3

Vn-1

Vn onde:

)!(!

!

ini

n

i

n

coef. binomial

pol. Bernstein

Bézier Cúbicas

30033,0 )1()1(

0

3)( ttttB

x

P(t)

3

03, )()(

iii VtBtP

y

z

V0

V1

V2

V3

tttttB 21133,1 )1(3)1(

1

3)(

22233,2 )1(3)1(

2

3)( tttttB

33333,3 )1(

3

3)( ttttB

i

i tB )(3, 1)1( 3 tt

33

22

12

03 )1(3)1(3)1()( VtVttVttVttP

Polinômios Cúbicos de Bernstein

1

10 t

B0,3

(1-t)3

3

10 t

B1,3

3(1-t)2t

1

10 t

B3,3

t3

10 t

B2,3

3(1-t) t2

-3

1

10 t

B0,3 + B1,3 + B2,3 + B3,3

Propriedades da Bézier Cúbica

33

22

12

03 )1(3)1(3)1()( VtVttVttVttP

33

22

12

02 )1(63)1(3)1(6)1(3)( VtVtttVtttVttP

dt

d

0)0( VP

3)1( VP

10 33)0( VVPdt

d

32 33)1( VVPdt

d

x

P(t)

y

z

V0

V1

V2

V3

R(0)

R(1)

Controle da Bézier Cúbica

Fecho Convexo

1)(00

n

ii

n

iii comVtP

Demonstração

Indução

1)( 101100 VVtP ok

n=1

1)()()(

)()(

1)(

21022110

10

10

010

210221100

VVVtP

VVVtP

)(tP

é interior ok

n=2

n=3...

Equação do Foley

zyx

zyx

zyx

zyx

VVV

VVV

VVV

VVV

ttttP

333

222

111

000

23

0001

0033

0363

1331

1)(

)(tP

0V

1V 2V

3V

33

22

12

03 )1(3)1(3)1()( VtVttVttVttP

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

33

22

12

03 )1(3)1(3)1()( VtVttVttVttP

101

0 )1()( VtVttV

211

1 )1()( VtVttV

321

2 )1()( VtVttV

12

211

10

2 )1(2)1()( VtVttVttP

32

2

21102

)1(

)1()1(2)1()1()(

VtVtt

VtVtttVtVtttP

)(10 tV

)(11 tV )(1

2 tV

Bezier n=2

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

11

10

20 )1()( VtVttV

12

211

10

2 )1(2)1()( VtVttVttP

1211

11

10 )1()1()1()( VtVttVtVtttP

Bezier n=1

12

11

21 )1()( VtVttV

11

20)1()( VtVttP

10V

11V

12V

20V

21V

)(tP

Cálculo de um Ponto

10V

11V

12V

20V

21V

)(tP

0V

1V

2V

3V

11V

10V

12V

20V

21V )(tP

(1-t)

t

)()()1()( 1,11,, tBttBttB ninini Mostre que:

0V

1V 2V

3V

Subdivisão de Bézier Cúbicas

3

2

1

0

3

2

1

0

1331

0242

0044

0008

8

1

V

V

V

V

V

V

V

V

L

L

L

L

3

2

1

0

3

2

1

0

8000

4400

2420

1331

8

1

V

V

V

V

V

V

V

V

R

R

R

R

101 2

1

2

1VVV L

. . .LV1

H

00 VV L

1V

2V

LV2

RL VV 03

RV1

RV2

33 VV R

Construção de uma Bezier

u=1/2

P(1/2)

B-Splines

• vértices+ nós

0V

1V

2V

3V 4V

nV

+

+ +

++ +

••

)(uP

i

n

ipi VuNuP

0

, )()(

)()(

)()(

)(

)()( 1,1

11

11,, uN

uu

uuuN

uu

uuuN pi

ipi

pipi

ipi

ipi

.10

0:. definiçãoporobs

p = grau do polinômio Ni,p(u) controla a continuidade ( Cp-1 )

u0 u1 u2 … um

contráriocaso

uuuseuN ii

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 Ni,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 uu0,um.

• Suporte local: Ni,p(u)=0 se uui, 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 um ponto de máximo.

Spline Uniforme

)())1((

)()(

)( 1,11,, uNpd

udpuuN

pd

uuuN pi

ipi

ipi

uj+1- uj =d

)()(

)()(

)(

)()( 1,1

11

11,, uN

uu

uuuN

uu

uuuN pi

ipi

pipi

ipi

ipi

Splines Uniformes p=0 e p=1

)[0

)[1)(

1

10,

ii

iii uuuse

uuuseuN

p=0

0 ui-d ui ui+d n...

Ni,0(u)

...

p=1

][0

)[)2(

)[

)0[0

)(

2

21

1

1,

mi

iii

iii

i

i

uuuse

uuused

udu

uuused

uuuuse

uN

)()2(

)()(

)( 1,11,1, uNd

uduuN

d

uuuN pi

ipi

ii

Ni,2(u)

ui-d ui ui+d ui+2d

Splines Uniformesp=2

Ni,1(u) Ni+1,1(u)Ni-1,1(u)

],[0

),[2

)3(

),[2

))()(3()2)((

),[2

)(

),0[0

)(

3

322

2

212

12

2

2,1

mi

iii

iiiiii

iii

i

uuuse

uuused

udu

uuused

duuuduuduuu

uuused

uu

uuse

uN

ui-d ui ui+d ui+2d ui+3d

p=2 )(2

)3()(

2

)()( 1,11,2, uN

d

uduuN

d

uuuN i

ii

ii

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)/2d2 +

(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)/2d2 +(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,11,, uNpd

udpuuN

pd

uuuN pi

ipi

ipi

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,0t

t6/6

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

(1-t)3/6

Funções da base

00,1

0,2

0,3

0,4

0,5

0,6

0,7

u1 u2 u3 ... um-4u0uum-3 um-2

N0,3(u) N2,3(u)N-1,3(u) ...

t

2

3

1

2323

1

3

66

1333

6

463

6

)1()(

iiiii V

tV

tttV

ttV

ttP

For i = 0, ..., n For t = 0, ..., 1

Nn-1,3(u)

um-1 um

N1,3(u)

i=0

ti=1

ti=n

Nn,3(u) Nn+1,3(u)

B-Spline Periódica- Foley -

ziyixi

ziyixi

ziyixi

ziyixi

VVV

VVV

VVV

VVV

ttttP

,3,3,3

,2,2,1

,,,

,1,1,1

23

0141

0303

0363

1331

1)(

Para cada par Vi, Vi+1 , i=0,...,n Para cada t=0,...,1

Periódica: i=0, ... , nV-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

0V

1V

2V

3V 1nV

nV

+

++

+

+ +

••

i=0

i=1 i=2

i=3

1V

i=n-1 1nV

1nV

i=0P(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

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=2i=3 i=4

i=5

i=6

i=7

) () (

) () (

) (

) () (1 , 1

1 1

11 , ,u N

u u

u uu N

u u

u uu Np i

i p i

p ip i

i p i

ip 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}

) () (

) () (

) (

) () (1 , 1

1 1

11 , ,u N

u u

u uu N

u u

u uu Np i

i p i

p ip i

i p i

ip i

Bézier e B-Spline

Bézier através da B-Spline CúbicaU ={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

11 , ,u N

u u

u uu N

u u

u uu Np i

i p i

p ip i

i p i

ip i

B-Spline Periódica- Interpolação -

Vn+1= V0 Vn+1 =V1

V2

V3

V4

V-1= Vn

Para i=0,..., nPi(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

nn P

P

P

P

P

P

V

V

V

V

V

V

4

3

2

1

0

4

3

2

1

0

410001

141000

014100

001410

000141

100014• vértices+ nós

B-Spline Não Periódica- Foley -

• vértices+ nós

0V

1V

2V

3V 1nV

nV

+

++

+

+ +

••

i=0

i=1 i=2

i=3

1V

i=n-1 1nV

1nV

P0 = V0 ; Pn = Vn ;

Para i=1,..., n-1Pi(0) = (Vi-1+ 4Vi+ Vi+1)/6;

Considere os nós como os pontos dados

nn P

P

P

P

P

P

V

V

V

V

V

V

4

3

2

1

0

4

3

2

1

0

100000

141000

014100

001410

000141

000001

Funções Racionais

]1,0[

1

2,

1

1)(

22

2

u

u

u

u

uuP

2

2

2

1

1)cos(

1

2)sin(

)2/tan(

u

u

u

u

u

Da trigonometria:

0

0.2

0.4

0.6

0.8

1.0

0.2 0.4 0.6 0.8 1.0

Cônicas

cbtat

etdtx

cbtat

edty

eydtycybtyyat

tyx

eydxcybxyax

2

2

2

2222

22

0

0

x

y

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

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

NURBSNon Uniform Rational B-Splines

yh

xh

w

w=1

x

y

i

ii

ii

ii

n

ipi

w

zw

yw

xw

uN

uw

uzuw

uyuw

uxuw

0, )(

)(

)()(

)()(

)()(

n

ii

i

i

n

kpkk

pii

z

y

x

uNw

uNw

uz

uy

ux

0

0,

,

)(

)(

)(

)(

)(

n

in

kpkk

piipi

i

i

i

pi

uNw

uNwuRonde

z

y

x

uR

uz

uy

ux

0

0,

,,,

)(

)()()(

)(

)(

)(

Cônicas como NURBS

}1,1,1,0,0,0{)()(

:

)()()(

)()()()(

2,2,

22,212,102,0

222,2112,1002,0

UcomuNuB

onde

wuBwuBwuB

VwuBVwuBVwuBuP

ii

0V

2V

1V

w0=1

w1=s/(1-s)

w2=1w1=0

0.2

-0.2

1

3

sElipse (w1<1)

Parábola (w1=1)

Hipérbola (w1>1)

Faux et al. w0w2 /w1 - determina a cônica

0V

2V

1V

w0=1

w1=s/(1-s)

w2=1w1=0

0.2

-0.2

1

3

sElipse (w1<1)

Parábola (w1=1)

Hipérbola (w1>1)

S

M

1

21

)1(

)(

VsMsS

eSP

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

08

02,

2,2,2,

)(

)()()(

)(

)(

i

kkk

iii

i

ii

uNw

uNwuRonde

y

xuR

uy

ux

-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=8p=2m=12

(x0 , y0)

(x1 , y1)(x2 , y2)(x3 , y3)

(x4 , y4)

(x5 , y5) (x6 , y6)(x7, y7)

(x8 , y8)