31
19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta [email protected] http://surynkova.info

Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Embed Size (px)

Citation preview

Page 1: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

19 Coonsova kubika,

B-spline křivka, NURBS křivky

RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky

Univerzita Karlova v Praze

Matematicko-fyzikální fakulta

[email protected]

http://surynkova.info

Page 2: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Trocha historie

geometrické modelování – veliký pokrok v oblasti letectví

1944 – Roy Liming

analytik, North American Aviation (výrobce letadel)

společně s konstruktérem a designérem Edgardem Schmuedem – matematizace

povrchu letounů

poprvé klasické konstruování kombinované s výpočetními metodami

poprvé zavedl mnohem účinnější metody – jako první začal popisovat křivky

numericky (konstruování křivek a ploch – v minulosti spočívalo na metodách DG)

nesporné výhody – interpretace matematického popisu (na rozdíl od kresby)

vždy správná

veliký ohlas - brzy se rozšířilo do dalších amerických společností pro výrobu

letadel

Aproximační křivky

Počítačová geometrie Petra Surynková

Page 3: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Trocha historie

v lodním i leteckém průmyslu

postupně se začínaly využívat kubiky (do té doby kružnice, kuželosečky)

plochy se rozdělily na části (tzv. pláty)

vše definováno pomocí matematických rovnic

60. léta 20. století

James C. Ferguson

analytik u amerického výrobce letadel Boeing

matematicky popsal plochu s kubickými parametrickými křivkami, na místo

ploch vytvářených do té doby graficky na základě oblouků kuželoseček

Aproximační křivky

Počítačová geometrie Petra Surynková

Page 4: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Trocha historie

Steven Anson Coons (1912-1979)

profesor na Massachusetts Institute of Technology (MIT) ve strojním

inženýrství, zaměstnanec u amerického výrobce letadel Chance Vought

matematizace povrchů letounů

popisy obecných plátů ploch – zadávány libovolnými okrajovými křivkami

jeho teorie – základ pro definice ploch, které se dnes běžně užívají –

př. B-spline nebo NURBS plochy

60. léta 20. století

výroba prvních počítačů, které se využívají ve strojírenství k řízení strojů,

postupně se rozšiřují do dalších odvětví

ještě však nejsou známy metody, jak počítačům předávat data v numerické

podobě (Limingova metoda používána zpočátku jen v leteckém průmyslu)

Aproximační křivky

Počítačová geometrie Petra Surynková

Page 5: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Trocha historie

k rozvoji geometrického modelování (a to právě v předávání dat počítači)

nezávisle na sobě přispěli Francouzi Paul de Faget de Casteljau a Pierre

Etienne Bézier

většina významných objevů v oblasti geometrického modelování byla

až do 70. let 20. století izolována

nakonec tyto snahy vyvrcholily vznikem nové vědní disciplíny CAGD -

Computer Aided Geometric Design (výpočetní geometrie)

bez zavedení počítačů do výroby by se ale tato disciplína jistě nemohla

rozvinout

Aproximační křivky

Počítačová geometrie Petra Surynková

Page 6: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Trocha historie

metody počítačového modelování

velmi se zdokonalily

dnes – k dispozici velmi kvalitní matematický aparát

výraznou změnu přineslo používání - racionálních Bézierových křivek a

ploch a neuniformních racionálních B-spline křivek a ploch tzv. NURBS

těmito metodami lze pomocí aproximace generovat klasické

geometrické prvky – kuželosečky, kulové plochy, kvadratické plochy

Aproximační křivky

Počítačová geometrie Petra Surynková

Page 7: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Trocha historie

v posledních letech vývoj v oblasti geometrického modelování přinesl

mnoho dalších typů křivek a ploch zaváděných k různým speciálním

účelům

geometrické modelování

obor, který se neustále vyvíjí

v současné době využívá počítačové modely prakticky každá oblast

výroby

rozvoj grafických editorů, tzv. CAD systémů, umožnil projektování na

počítači v různých odvětvích průmyslu

Aproximační křivky

Počítačová geometrie Petra Surynková

Page 8: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Coonsovy kubiky

určena čtyřmi řídicími body

předpis pro výpočet Coonsovy kubiky

Počítačová geometrie Petra Surynková

3

0

1( ) ( )

6i i

i

Q t PC t

3 2

0

3 2

1

3 2

2

3

3

( ) 3 3 1

( ) 3 6 4

( ) 3 3 3 1

( )

C t t t t

C t t t

C t t t t

C t t

0,1t

0 1 2 3, , ,P P P P

, kde

Aproximační křivky

Page 9: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Coonsovy kubiky

předpis - maticově

Počítačová geometrie Petra Surynková

0

1

2

3

1 3 3 1

3 6 3 01( )

3 0 3 06

1 4 1 0

P

PQ t T

P

P

0,1t 3 2 1T t t t

Aproximační křivky

Page 10: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Coonsovy kubiky

položíme-li resp. ve vztahu

odvodíme

Počítačová geometrie Petra Surynková

Aproximační křivky

0t 1t

0

1

2

3

(0) 1

(0) 4

(0) 1

(0) 0

C

C

C

C

0 1 2

1(0) 4

6Q P P P

počáteční bod křivky je tzv. antitěžiště

trojúhelníka pro vrchol tj. leží na

těžnici trojúhelníka procházející vrcholem a

vzdálenost bodů se rovná jedné třetině

délky těžnice

3

0

1( ) ( )

6i i

i

Q t PC t

1P0 1 2P PP

1 (0)PQ

Page 11: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Coonsovy kubiky

příklad Coonsovy kubiky

Q (0)

Q (1)

Aproximační křivky

Počítačová geometrie Petra Surynková

těžiště

antitěžiště

Page 12: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Coonsovy kubiky

položíme-li resp. ve vztahu

odvodíme

Počítačová geometrie Petra Surynková

Aproximační křivky

0

1

2

3

(1) 0

(1) 1

(1) 4

(1) 1

C

C

C

C

1 2 3

1(1) 4

6Q P P P

koncový bod křivky je tzv. antitěžiště

trojúhelníka pro vrchol tj. leží na

těžnici trojúhelníka procházející vrcholem a

vzdálenost bodů se rovná jedné třetině

délky těžnice

3

0

1( ) ( )

6i i

i

Q t PC t

2P1 2 3PP P

2 (1)P Q

0t 1t

Page 13: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Coonsovy kubiky

příklad Coonsovy kubiky

Q (0)

Q (1)

Aproximační křivky

Počítačová geometrie Petra Surynková

těžiště

antitěžiště

Page 14: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Coonsovy kubiky

dosadíme-li-li resp. do derivace vztahu

odvodíme tečné vektory v počátečním a koncovém bodě Coonsovy

kubiky

Počítačová geometrie Petra Surynková

3

0

1( ) ( )

6

i i

i

Q t PC t

3

0

1( ) ( )

6i i

i

Q t PC t

2

0

2

1

2

2

2

3

( ) 3 6 3

( ) 9 12

( ) 9 6 3

( ) 3

C t t t

C t t t

C t t t

C t t

0

1

2

3

(0) 3

(0) 0

(0) 3

(0) 0

C

C

C

C

0 2

2 0

1(0) 3 3

6

1

2

Q P P

P P

0t 1t

Page 15: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Coonsovy kubiky

dosadíme-li-li resp. do derivace vztahu

odvodíme tečné vektory v počátečním a koncovém bodě Coonsovy

kubiky

Počítačová geometrie Petra Surynková

3

0

1( ) ( )

6i i

i

Q t PC t

2

0

2

1

2

2

2

3

( ) 3 6 3

( ) 9 12

( ) 9 6 3

( ) 3

C t t t

C t t t

C t t t

C t t

0

1

2

3

(1) 0

(1) 3

(1) 0

(1) 3

C

C

C

C

1 3

3 1

1(1) 3 3

6

1

2

Q P P

P P

0t 1t3

0

1( ) ( )

6

i i

i

Q t PC t

Page 16: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Coonsovy kubiky

tečné vektory

tj. tečna Coonsovy kubiky v bodě je rovnoběžná s přímkou a

tečna v bodě je rovnoběžná s přímkou

vzhledem k předchozí vlastnosti jsme dokázali

Coonsova kubika je Fergusonovou kubikou pro body a tečné vektory v nich:

Počítačová geometrie Petra Surynková

2 0

3 1

1(0)

2

1(1)

2

Q P P

Q P P

(0)Q0 2P P

(1)Q 1 3PP

0 1 2

1 2 3

14

6

14

6

P P P

P P P

2 0

3 1

1

2

1

2

P P

P P

a

Page 17: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Coonsovy kubiky

příklad Coonsovy kubiky

Q (0)

Q (1)

Aproximační křivky

Počítačová geometrie Petra Surynková

těžiště

antitěžiště

Page 18: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Coonsova kubika – vlastnosti

kubika obecně neprochází krajními body svého řídicího polygonu

kubika leží v konvexním obalu řídicích bodů

důkaz plyne z:

některé speciální případy zadávání Coonsovy kubiky

leží-li řídicí body na přímce, pak je Coonsova kubika úsečkou

na této přímce

splynou-li body , leží bod na úsečce a platí

bod se nazývá dvojnásobný bod řídícího polygonu

Počítačová geometrie Petra Surynková

0 1 2 3, , ,P P P P

3

0

1( ) 1,

6i

i

C t t

0 1 0 2P P P P (0)Q0 2P P

0 2 0

1(0)

6Q P P P

0 1P P

Page 19: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Coonsova kubika – vlastnosti

některé speciální případy zadávání Coonsovy kubiky

splynou-li body , pak

a Coonsova kubika je úsečkou s druhým krajním bodem:

bod se nazývá trojnásobný bod řídicího polygonu

Počítačová geometrie Petra Surynková

0 1 2 0 3P P P P P

0 3 0

1(1)

6Q P P P

0(0)Q P

0 1 2P P P

Page 20: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Bézierova a Fergusonova kubika

Fergusonovu kubiku můžeme vyjádřit jako Bézierovu kubiku

nechť je Fergusonova kubika dána

dvěma řídicími body

a

dvěma tečnými vektory v nich

potom pro vrcholy řídicího polygonu Bézierovy kubiky

jednoduše odvodíme

Počítačová geometrie Petra Surynková

0 1,Q Q

0 1,Q Q

0 1 2 3, , ,V V V V

0 0

1 0 0

2 1 1

3 1

1

3

1

3

V Q

V Q Q

V Q Q

V Q

Page 21: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

-6 -4 -2 0 2 4 6 8

-2

0

2

4

6

8

10

Aproximační křivky

Bézierova

a Fergusonova kubika

Počítačová geometrie Petra Surynková

0 0V Q

2V

1V

3 1V Q

1Q

0Q

0 0

1 0 0

2 1 1

3 1

1

3

1

3

V Q

V Q Q

V Q Q

V Q

Page 22: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Bézierova a Coonsova kubika

Coonsovu kubiku můžeme vyjádřit jako Bézierovu kubiku

nechť je Coonsova kubika dána

čtyřmi řídicí body

potom pro vrcholy řídicího polygonu Bézierovy kubiky

jednoduše odvodíme

Počítačová geometrie Petra Surynková

0 1 2 3, , ,V V V V

0 0 1 2

1 2 1

2 1 2

3 1 2 3

14

6

1 2

3 3

1 2

3 3

14

6

V P P P

V P P

V P P

V P P P

0 1 2 3, , ,P P P P

Page 23: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

-6 -4 -2 0 2 4 6 80

1

2

3

4

5

6

7

8

9

10

Aproximační křivky

Bézierova

a Fergusonova kubika

Počítačová geometrie Petra Surynková

0V

2V

1V

3V

0 0 1 2

1 2 1

2 1 2

3 1 2 3

14

6

1 2

3 3

1 2

3 3

14

6

V P P P

V P P

V P P

V P P P

0P

2P

1P

3P

Page 24: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Coonsova kubika – napojování

navazování segmentů složených z Coonsových kubik

segment je určen body , následující segment je

definován body - tedy třemi posledními body segmentu a

jedním bodem segmentu následujícího

Počítačová geometrie Petra Surynková

3Q

5Q

4Q

7Q

6Q

iQ 3 2 1, , ,i i i iP P P P

2 1 1, , ,i i i iP P P P

1iQ

iQ

Page 25: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

Coonsova kubika – napojování

navazování segmentů složených z Coonsových kubik

vzniká uniformní neracionální kubický B-spline (Coonsův kubický B-spline)

je určen řídicími body a skládá se z Coonsových

kubik

kubika je určena řídicími body

při násobnosti vrcholů

výsledný kubický B-spline prochází krajními body svého řídicího polygonu (první a

poslední segment jsou úsečky)

lze uvažovat také uzavřené křivky

opakování prvních tří řídicích bodů na konci řídicího polygonu

parametr t probíhá intervalem , hodnoty parametru v uzlech (body, ve

kterých jsou segmenty napojeny) definují uzlový vektor

tyto hodnoty mají konstantní vzdálenost

uzlový vektor je uniformní

Počítačová geometrie Petra Surynková

0 1, ,..., , 3nP P P n 2n

3 4, ,..., nQ Q Q

iQ 3 2 1, , ,i i i iP P P P

0 0 0 1 1, , , ,..., , , ,n n n nP P P P P P P P

0 1 0 1 2, ,..., , , ,mP P P P P P

0, 1n

1i it t k

Page 26: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

B-spline křivka

přirozený kubický spline – interpolační křivka skládající se z polynomů

stupně tři, ve svých uzlech spojitá

B-spline křivka = křivka aproximační

B-spline křivka stupně k je určena vztahem

Počítačová geometrie Petra Surynková

2C

0

( ) ( )n

k

i i

i

Q t PN t

, kde

( )k

iN t

k

- i-tá B-spline bázová funkce stupně k

- stupeň B-spline

1 111

1 1

( ) ( ) ( )k k ki i ki i i

i k i i k i

t t t tN t N t N t

t t t t

0

1( )

0iN t

1,i it t t

jinak

k n

Page 27: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

B-spline křivka

uzlový vektor parametrů

n+1 řídicích bodů

m+1 uzlových bodů

k stupeň křivky

pokud platí , potom hovoříme o uniformní parametrizaci

může se stát, že v předpisech pro B-spline bázové funkce vznikají výrazy

typu a/0, pokládáme je rovny nule

Počítačová geometrie Petra Surynková

1m k n

0 1, ,..., mt t t

platí:

1 . i it t konst

Page 28: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

B-spline křivka

Coonsův kubický B-spline (jeden oblouk) – speciální případ B-spline

křivky pro

uzlový vektor

stupeň k=3

počet řídicích bodů – 4

vlastnosti B-spline křivek

invariantní vůči otáčení, posunutí, změně měřítka

jednotlivé segmenty leží v konvexních obálkách svých řídicích polygonů

křivka celá leží v konvexní obálce svých řídicích polygonů

body řídicího polygonu mohou být vícenásobné

vliv změny polohy řídicího bodu je lokalizován, obecně nedochází ke

změně celé křivky

Počítačová geometrie Petra Surynková

3, 2, 1,0,1,2,3,4

na 0,1t

Page 29: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

B-spline křivka

Počítačová geometrie Petra Surynková

Lokalita změny tvaru křivky při změně polohy bodu

řídicího polygonu – změna tvaru čtyř segmentů

Page 30: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

NURBS – neuniformní racionální B-spline křivka

Počítačová geometrie Petra Surynková

0

0

( )

( )

( )

nk

i i i

i

nk

i i

i

PN t

Q t

N t

, kde

( )

i

k

iN t

k

- je váha bodu řídicího polygonu

- i-tá B-spline bázová funkce stupně k

- stupeň B-spline

1 111

1 1

( ) ( ) ( )k k ki i ki i i

i k i i k i

t t t tN t N t N t

t t t t

0

1( )

0iN t

jinak

1,i it t t

Page 31: Coonsova kubika, B-spline křivka, NURBS křivky · 19 Coonsova kubika, B-spline křivka, NURBS křivky RNDr. Petra Surynková, Ph.D. Katedra didaktiky matematiky Univerzita Karlova

Aproximační křivky

NURBS – neuniformní racionální B-spline křivka

umožňují přesné vyjádření kuželoseček – jako podíl polynomů

jsou invariantní k rotaci, translaci, změně měřítka a navíc i k paralelnímu a

středovému promítání

Počítačová geometrie Petra Surynková

kružnice

definovaná

jako NURBS

vliv váhy bodu