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

45
Curvas

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

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

Curvas

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

Requisitos: Independência de eixos

x

y

x'

y'

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

Requisitos: Valores Múltiplos

x

y

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

Requisitos: Controle Local

x

y

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

Requisitos: Redução da Variação

polinômio de grau elevado

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

Requisitos: Continuidade Variável

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

Requisitos: Versatilidade

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

Requisitos: Amostragem Uniforme

s1

s2

s3

s4

sn

si sj

Formulação matemática tratável

Finalizando:

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

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

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

Geometria Diferencial

s

P(u)

)()( uPdu

duR

ou P(s)

)()(ˆ sPds

dsT

ou u

Tdu

dsR ˆ

)(uss

Rdu

ds

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

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

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

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

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

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

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

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

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

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

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

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)

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

Controle da Bézier Cúbica

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

Fecho Convexo

1)(00

n

ii

n

iii comVtP

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

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...

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

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

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

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

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

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

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

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

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

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

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

Construção de uma Bezier

u=1/2

P(1/2)

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

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)

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

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.

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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,

,,,

)(

)()()(

)(

)(

)(

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

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

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

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)