interpolacija

51
Ž. M, ZEMRIS, FER 6-1 6.1. LINEARNA INTERPOLACIJA parametarska jednadžba pravca kroz dvije točke 6. Linearna interpolacija, krivulje ( 29 ( 29 ( 29 ( 29 1 1 0 0 1 0 0 1 0 1 V V V V V V V V t f t f t t t + = + - = - + = V 0 t=0 t=1 V 1 V 2 V 3 V 4 ( 29 ( (29 (29 koordinate čne baricentri funkcije težinske = + 1 , 1 0 1 0 t f t f t f t f lerp (t, v0, v1) { return v0 + t*(v1-v0); // ili return (1-t)*v0 + t*v1; } t x t y 0 1 0 1 x 0 x 1 y 0 y 1 za zadane udaljenosti d 0 i (1-d 0 ) odrediti težinske funkcije m i težište m 0 d 0 = m 1 (1-d 0 ) m 0 =(1-d 0 ), m 1 =d 0 m 0 m 1 1-d 0 d 0 t=2 t=3 t=4 x 0 f 0 (t) x 1 f 1 (t)

Upload: vladimir-pantelic

Post on 29-Dec-2015

78 views

Category:

Documents


4 download

DESCRIPTION

Interpolacija krivulje

TRANSCRIPT

Ž. M, ZEMRIS, FER 6-1

6.1. LINEARNA INTERPOLACIJA• parametarska jednadžba pravca kroz dvije točke

6. Linearna interpolacija, krivulje

( ) ( ) ( ) ( ) 110010010 1 VVVVVVVV tftfttt +=+−=−+=

V0

t=0

t=1V1

V2

V3

V4

( ) ( )( ) ( ) koordinatečnebaricentri

funkcijetežinske

⇒=+ 1

,

10

10

tftf

tftf

lerp (t, v0, v1) {

return v0 + t*(v1-v0);

// ili return (1-t)*v0 + t*v1;

}

t

x

t

y

0 1 0 1

x0

x1

y0

y1

za zadane udaljenosti d0 i (1-d0 )

odrediti težinske funkcije mi

težište m0d0= m1(1-d0)m0=(1-d0), m1=d0

m0 m1

1-d0d0

t=2

t=3

t=4

x0 f0(t)x1 f1(t)

Ž. M, ZEMRIS, FER 6-2

LINEARNA INTERPOLACIJA

• parametarska jednadžba pravca kroz dvije točke

( )∑=i

ii tf VVV0

t=0

t=1V1

V2

V3

V4 ( )( ) 1=∑

i

i

i

tf

tf funkcijetežinske

t

f(t)f1 f2 f3 f4

f01

• po odsječcima linearna interpolacija

1 2 3

• obrnuti problem od postupka uzorkovanja- iz niza uzoraka želimo dobiti kontinuirani signal- konvolucija

Ž. M, ZEMRIS, FER 6-3

BILINEARNA INTERPOLACIJA

• parametarska jednadžba kroz četiri točke

( ) ( )( ) ( )( )( )vuu

vuuvu

1,11,0

0,10,0

1

11,

VV

VVV

+−+−+−=

V0, 0

u=0, v=0

V0,1

V1,0

V1, 1

( )( )0,10,01)0,( VVV uuu +−=

( ) ( ) vvvu uu 1,0, 1, VVV +−=

V(u,v)

( )( )1,11,01)1,( VVV uuu +−=

( ) ( )( ) ( ) ( ) 1,11,00,10,0 1111, VVVVV vuvuvuvuvu +−+−+−−=

u

v

http://www.cs.technion.ac.il/~cs234325/Applets/NewApplets/experiments/interpolation.html

Primjena npr. interpolacija boje http://micro.magnet.fsu.edu/primer/java/digitalimaging/processing/panscrollzoom/index.html

Ž. M, ZEMRIS, FER 6-4

BILINEARNA INTERPOLACIJA

– bilinearna interpolacija nije linearna

(nije ravnina)

– trilinearna interpolacija

proširenje bilinearne

ii

i

ii

i

yy

yyv

xx

xxu

−−=

−−=

++ 11

,

u

v

( ) ( )( ) ( )( ) 1,11,0

0,10,0

1

111,

VV

VVV

vuvu

vuvuvu

+−+−+−−=

fx 1-fx

fy1-fy

fz

Ž. M, ZEMRIS, FER 6-5

BARICENTRIČNE KOORDINATE

– točka P ima normalizirane baricentrične koordinate P(t1, t2, t3) - Baricentar,

t1: t2: t3=P∆1:P∆2:P∆3 t1+ t2+ t3=1 (ako su u ti mase u Ai, Pi je centar masa)

- točka je unutar trokuta ako su 0 ≤ t1, t2 , t3 ≤ 1

- ako je neki ti=0 točka P pada na brid

- baricentričnih koordinata

kroz točke A1 i P povučemo pravac t3, t2

– http://www.vis.uni-stuttgart.de/~kraus/LiveGraphics3D/cagd/chap3fig5.html

321

321

321

33

22

11

AAA

AAA

AAA

P

Pt

P

Pt

P

Pt

=

=

=

A1=(1, 0, 0)

t3

P=(t1, t2, t3)

A2=(0, 1, 0) A3=(0, 0, 1)

P∆1

P∆2P∆3

P=(t1, t2, t3)

A1=(1, 0, 0)

A2=(0, 1, 0)A3=(0, 0, 1)

t2Q

t1

t2+t3

332211 AtAtAtP ++=

Ž. M, ZEMRIS, FER 6-6

Primjer primjena baricentričnih koordinata: ispravno preslikavanje teksture, deformacija konveksnih objekata – preobražaj (mesh deformation, morphing)

Tagret

AB

C

A′B′

C′

P′P

P′

baricentrične koordinate t1, t2, t3 točke P’obzirom na A’, B’, C’Color(P’) = Color(t1 A + t2 B + t3 C)

Npr. interpolacija boja:http://www.ccs.neu.edu/home/suhail/BaryTriangles/applet.htm

Ž. M, ZEMRIS, FER 6-7

Određivanje je li točka u trokutu:

( ) ( )ba0

02010rr

vu

vu

++=

−+−+=

V

VVVVVV

- parametarski oblik jedandžbe ravnine u, v – odgovaraju baricentričnim koordinatama t1, t2,

222

2

222

2

abba

cabacba

abba

cbbacab

−=

−=

v

u

Točka je u trokutu ako je:

(u > 0) & (v > 0) & (u + v < 1)

P

V0

V1

u0 = 0, v0 = 0

u1 = 1, v1 = 0

u2 = 0, v2 = 1V2

u

va

b

c

Ako je a b mozemo promatrati projekcije vektora c na a i vektora c na b

bcb

aca

/

/

=

=

v

uvektoraproduktskalarnije

Ž. M, ZEMRIS, FER 6-8

6.2. KRIVULJE

• postupak projektiranja krivulje

– analitički izraz izvorne krivulje u pravilu je nepoznat

– poznato je • koordinate u nekim točkama

• nagibi, zakrivljenost ili izvijanje u nekim točkama

⇒ modeliranje

– opis segmenta krivulje

– segmentiranje - povezivanje segmenata uz ostvarivanje kontinuiteta između segmenata

Ž. M, ZEMRIS, FER 6-9

PODJELA KRIVULJA

• aproksimacijske• interpolacijske

• otvorene • zatvorene

• razlomljene• nerazlomljene

• periodične• neperiodične(periodičnost težinskih funkcija)

( ) ( ) 112

13

12311

21

31 dtctbtatx

dctbtat

dtctbtatx +++=

++++++=

Ž. M, ZEMRIS, FER 6-10

POŽELJNA SVOJSTVA KRIVULJA

• višestruke vrijednostihttp://www.math.aau.dk/~raussen/VIDIGEO/GEOLAB/3Dparametrization.html

• neovisnost o koordinatnom

sustavu (Kartezijev, polarni)

• lokalni nadzor

x

y

Ž. M, ZEMRIS, FER 6-11

• smanjenje varijacije - kod visokog stupnja polinoma može se javiti titranje krivulje

• kontrola reda neprekinutosti• http://www.slu.edu/classes/maymk/Applets/Derivatives2.html

C0 C1

ista vrijednost koordinate

ista tangentakontinuitet radijusa

zakrivljenostihttp://www.ies.co.jp/math/java/calc/curve/curve.html

http://www.vis.uni-stuttgart.de/~kraus/LiveGraphics3D/cagd/chap10fig4.html

C2

r

oskulatornakružnica

C3

kontinuitet u izvijanju

Ž. M, ZEMRIS, FER 6-12

C0 – kontinuitet koordinate - ista vrijednost koordinate f(t) = g(t)

C1 - kontinuitet nagiba - ista vrijednost prve derivacije (vektor brzine) f ′(t) = g′(t)

C2 - - f ″(t) - isti vektor akceleracije

Zakrivljenost krivulje obrnuto je proporcionalna radijusu oskulatorne kružnice.

Ako je radijus velik zakrivljenost je mala (i obrnuto).

C3 - (torzije) - f ″′(t)

Osim C kontinuiteta postoje i G kontinuiteti koji zahtijevaju proporcionalnost.

G (geometrijski)

G0 = C0

G1 - proporcionalna vrijednost derivacije f ′(t) = k1 g ′(t), k1>0

G2 – ista zakrivljenost s lijeva i s desna

G2 – implicira i ostvarenje svih nižih kontinuiteta G1

C1 kontinuitet implicira G1 kontinuitet osim kada je vektor tangente [0 0 0]

kod C1 kontinuiteta može doći do promjene smjera, kod G1 ne može.

3/ fff ′′′×′=κ

Ž. M, ZEMRIS, FER 6-13

ANALITIČKI OPIS PROSTORNIH KRIVULJAa) eksplicitni oblik - nemogućnost prikaza višestrukih vrijednosti

b) implicitni oblik - za prikaz dijela krivulje trebaju dodatni uvjeti

c) parametarski oblik

točka na krivulji - vektorska funkcija

vektor tangente

( ) ( )xgzxfy == ,

x

y

x

y( ) 0,, =zyxF

( ) ( ) ( ).z,y,x tztytx ===

( ) ( ) ( ) ( )[ ].zyxV tttt =

x

y0pr

,1pr

,ipr

t = 0

t = ti

t = 1

( ) ( ) ( ) ( )[ ].zyxV tttt ′′′=′ ( ) ( ) .Vitii ptpt

rr ==

Ž. M, ZEMRIS, FER 6-14

6.3. SEGMENT KRIVULJE

6.3.1. KRIVULJA BEZIERA

Postupak poznat pod imenom krivulje Beziera nezavisno su razvili

• BEZIER 1962. Rénault

• DE CASTELJAU 1959. Citroën

kao polaznu osnovu u CAD sustavima. De Casteljau direktno koristi Bernsteinove polinome.

1970. R. Forest otkriva vezu Bezierovog rada i Bernsteinovih polinoma.P. Bezier objavljuje svoj rad i krivulje dobivaju ime po njemu.

• aproksimacijske krivulje Beziera• interpolacijske krivulje Beziera

• Bezierove težinske funkcije (Bezier)• Bernsteinove težinske funkcije (De Casteljau)

Ž. M, ZEMRIS, FER 6-15

APROKSIMACIJSKE KRIVULJE BEZIERAProlaze početnom i krajnjom točkom, a ostalima se samo približava.a) BEZIEROVE TEŽINSKE FUNKCIJEKorištenje gibanja vrha sastavljenog otvorenog poligona.

n+1 .. broj točaka.

n .. stupanj krivulje.

ai .. kontrolni poligon.p(t) .. točka na krivulji - linearna kombinacija fi,n(t) i ai.fi,n(t) .. težinska funkcija - njena vrijednost pokazuje koliko i-ti element poligona

pridonosi pripadnoj točki za parametar t.

( )tpr

x

y

0rr

1rr

2rr

3rr

0ar

1ar

2ar

3ar

( ) ( ) [ ]1,0,0

∈=∑=

ttfatp ni

n

i

i

rr

nirra

ra

iii ..1,

,

1

00

=−==

−rrr

rr

Ž. M, ZEMRIS, FER 6-16

fi,n(t) - težinska funkcija je općenita i mora zadovoljiti niz posebnih uvjeta:

1. početna točka p(0) = a0 ⇒ f0, n(0) = 1,

fi, n(0) = 0, i = 1 .. n

2. završna točka p(1) = Σai ⇒ fi, n(1) = 1, i = 0 .. n zbroj svih vektora

3. osnovni vektor a1 treba biti paralelan s tangentom u početnoj točki

p’(0) = k1a1 ⇒ f ’1 ,n(0) ≠ 0,

f ’i, n(0) = 0, i ≠ 1

4. osnovni vektor an treba biti paralelan s tangentom u završnoj točki.

p’(1) = knan ⇒ f ’i, n(1) = 0, i = 0 .. n-1,

f ’n, n(1) ≠ 0.

Ž. M, ZEMRIS, FER 6-17

5. oskulatorna ravnina u početnoj točki treba biti paralelna s a1 i a2

⇒ f ’’1, n(0) ≠ 0, f ’’2, n(0) ≠ 0,

f ’’i, n(0) = 0, inače.

http://www.math.aau.dk/~raussen/VIDIGEO/GEOLAB/apposcplane.html

6. oskulatorna ravnina u završnoj točki treba biti paralelna s an-1 i an

⇒ f ’’i, n(1) = 0, i = 0 .. n-2,

f ’’n-1, n(1) ≠ 0, f ’’n, n(1) ≠ 0.

7. simetričnost težinske funkcije - zamjena početne i završne točke povlači promjenu smjera i redoslijeda vektora.

⇒ fi, n(t) = 1- fn-i+1, n(1-t) , i = 1 .. n.

oskulatornaravnina

oskulatornakružnica

tangenta

normala

binormala

r

Ž. M, ZEMRIS, FER 6-18

⇒ BEZIEROVE TEŽINSKE FUNKCIJE

za derivaciju (-1) se podrazumijeva vrijednost 1

rekurzivni oblik pogodan za implementaciju na računalu:

( ) ( )( )

( ) ( )( ) ( ) ( )

( ) ( ) n..iid

t

tt

td

td

i

ttf

i

n

ni

n

ii

ni

11

,11

,!1

1

1

1

,

=−

−−−=ΦΦ

−−=

derivacijajegdje

( ) ( ) ( ) ( )

( ) ( ) ( ) .1,0,1

,1

,1,10,0

1,11,,

===

+−=

−+

−−−

tftftf

tfttfttf

kkk

ninini

rekurzijenjazaustavljauvjeti

Ž. M, ZEMRIS, FER 6-19

* PRIMJER

Odrediti Bezierove težinske funkcije

ako su zadane četiri točke.

( ) ( ),33

11 23

3 ttt

tt −+−=

−−−=Φ

( ) ( )( )

( ) ( )( )

( )( )( )( ) .

,23

,33

,1

,!1

33,3

323,2

323,1

3,0

13

1

3,

ttf

tttf

ttttf

tf

td

td

i

ttf

i

ii

i

=

−=

+−=

=

Φ−

−= −

t1

f(t) f0, 3(t)

f1, 3(t)

f3, 3(t)

f2, 3(t)

( ) ( )

( ) ( ) ( ) 33

232

132

0

3,

3

0

2333

,

atattatttatp

tfatp i

i

i

rrrrr

rr

+−++−+=

=∑=

Ž. M, ZEMRIS, FER 6-20

Provjera postavljenih uvjeta na težinsku funkciju:

( )( )

( ) ( ) ( )( )( )

( ) ( ) ( )( ) ( )( ) ( )

( ) ( ).11.7

,61.6

,60.5

,612666

,31.4

,30.3

,366363

,1.2

,0.1

3,33,1

23

12

321

3

1

32

22

12

3210

0

tftf

aap

aap

atatattp

ap

ap

atattatttp

aaaap

ap

−−=

−=′′−=′′

+−++−=′′

=′=′

+−++−=′

+++==

stsimetrično

točkizavršnojuderivacija

točkipočetnojuderivacija

točkizavršnojuderivacija

točkipočetnojuderivacija

točkazavršna

točkapočetna

rrr

rrr

rrrr

rr

rr

rrrr

rrrrr

rr

Ž. M, ZEMRIS, FER 6-21

b) BERNSTEINOVE TEŽINSKE FUNKCIJE ZA KRIVULJU BEZIERA

De Casteljau - intuitivna geometrijska konstrukcija

x

y0 t 1

00 rbr

22 rbr

11 rbr

( )( )

( )

( ) ( ) 22

102

2,0

1,11,02,0

211,1

101,0

121

,1,1

,1

btbttbtb

btbtbbtbtb

btbtb

+−+−=

+−=

+−=

+−=

:uvrstimo -

:ijeinterpolac linearne uzastopne -

( )tpr 1,1b

1,0b

2,0b

0 t 1

11 rbr

y

00 rbr

22 rbr

33 rbr

x

1,1b

1,0b

1,2b

2,1b2,0b

( )tpr

3,0b

http://saltire.com/applets/spline.htmhttp://www.cs.technion.ac.il/~cs234325/

Ž. M, ZEMRIS, FER 6-22

- poopćenje ovog postupka daje De Casteljau-ov algoritam

( ) ( )( )( ) ( ) krivulji.natočka

poligona,kontrolnogvrhovi

tptb

rbtb

rninrtbtbtb

n

iii

ririri

r

r

,0

0,

1,11,, ,..0,..1,1

=

−==+−= −+−

( ) ( ) [ ]1,0,0

∈=∑=

ttbrtp ni

n

i

i

rr

( )

( ) ( ) ( ) ( ) iniini

ni

ni

ttini

ntt

i

ntb

ntb

−− −−

=−

=

−−

1!!

!1

stupnjapolinomiviBernsteinofunkcijebazne

,

,

( ) [ ]1,010

, ∈=∑=

ttbn

i

nivrijedi

Diskretna binomna razdioba:

t – n + 1 pokušaja

b i, n – vjerojatnost postizanja točno i n + 1 pokušaja

Binomni teorem:( ) iin

n

i

nyx

i

nyx −

=∑

=+

0

Ž. M, ZEMRIS, FER 6-23

* PRIMJER

Odrediti Bernsteinove težinske funkcije

ako su zadane četiri točke.

( ) ( ) ( )

( ) ( )( ) ( )( ) ( )( ) .

,13

,13

,1

,1!3!

!3

33,3

23,2

23,1

33,0

33,

ttb

tttb

tttb

ttb

ttii

tbii

i

=

−=

−=

−=

−−

= −

t1

b(t)

b0, 3(t)

b1, 3(t)

b3, 3(t)

b2, 3(t)

( ) ( )

( ) ( ) ( ) ( ) 33

22

123

0

3,

3

0

13131

,

rtrttrtttrtp

tbrtp i

i

i

rrrrr

rr

+−+−+−=

=∑=

( ) ( )( ) ( ).31

,30

23

01

rrp

rrprrr

rrr

−=′−=′

1rry

( )tpr

0rr

2rr

3rr

x

http://www.cs.brown.edu/

Ž. M, ZEMRIS, FER 6-24

Aproksimacijska krivulja Beziera

a) Bezierov oblik Bezierove krivulje b) Bernsteinov oblik Bezierove krivulje

(de Casteljau)

( ) ( ) [ ]1,0,0

∈=∑=

ttbrtp ni

n

i

i

rr( ) ( ) [ ]1,0,

0

∈=∑=

ttfatp ni

n

i

i

rr

ai kontrolni vektoriri kontrolne točke

( ) ( )( )

( ) ( )( )

( ) ( )t

tt

td

td

i

ttf

n

n

i

n

ii

ni

−−−=Φ

Φ−

−= −

11

,!1 1

1

,( ) ( ) ini

ni tti

ntb

−−

= 1,

Ž. M, ZEMRIS, FER 6-25

Matrično:

Za tangentu na Bezierovu krivulju opisanu preko Bernsteinovihtežinskih funkcija vrijedi:

Veza Bezierovih i Bernsteinovih težinskih funkcija:

( ) [ ] .

0001

0033

0363

1331

1

3

2

1

0

23

−−

−−

=

r

r

r

r

ttttp

r

r

r

r

r

( ) ( ) ...0,,, nitbtfn

ij

njni ==∑=

( ) ( )( ) ( ) krivuljestupanj...1

,0

1

01

nrrnp

rrnp

nn −−=′−=′rrr

rrr

nirarar

ili

nirrara

iii

iii

..1,,

,..1,,

100

100

=+==

=−==

rrrrr

rrrrr

Ž. M, ZEMRIS, FER 6-26

SVOJSTVA APROKSIMACIJSKIH BEZIEROVIH KRIVULJA• postoji konveksna ljuska

suma težinskih funkcija je 1važno kod ispitivanja sjecišta krivulje(težinske funkcije su nenegativne

imaju točno jedan maksimum)

• krivulja nema više valova od kontrolnog poligonabroj sjecišta ravnine i kontrolnog poligona <= br. sjec. ravnine i krivulje• lokalni nadzor - nije ispunjeno• broj kontrolnih točaka je u direktnoj vezi sa stupnjem krivulje

– za n točaka stupanj je (n-1)

• neovisnost o transformacijama (translacija, rotacija, skaliranje)• simetričnost - kod uvrštenja možemo simetrično zamijeniti popis točaka• http://www.cs.unc.edu/~mantler/research/bezier/index.html• http://i33www.ira.uka.de/applets/mocca/html/noplugin/curves.html• http://www.ibiblio.org/e-notes/VRML/Anim/Morph.wrl

x

1rry

( )tpr

0rr

2rr

3rr

konveksna ljuska

Ž. M, ZEMRIS, FER 6-27

6.3.2. INTERPOLACIJSKE KRIVULJE BEZIERAProlaze svim zadanim točkama.

POZNATO

1. n+1 točka krivulje s vrijednošću parametra

ili

2. tangente u pojedinim točkama

ili

3. oskulatorne ravnine, položaji centara zakrivljenosti

x

y

0rr 1r

r

2rr

3rr

( )tpr

0ar

1ar

2ar

3ar

( ) ( ) [ ]1,0,1

0 ∈+= ∑=

ttfaatp ni

n

i

i

rrr

uvjet. 1 poznavati je Potrebno

krivuljioželjenogilipoznatognečega

temeljunaseodređujenepoznato

točakabrojaosnovinapoznato

+

−−

n

a

f

i

ni

r,

( ) ...0,, nin

ittp iii ==r

( ) ( ) .,1

tfatp ni

n

i

iii′=′ ∑

=

rr

( ) ( ) .,1

tfatp ni

n

i

iii′′=′′ ∑

=

rr

Ž. M, ZEMRIS, FER 6-28

INTERPOLACIJSKA KRIVULJA KROZ n+1 TOČKU:

( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( )

.

...

1...111

...............

...1

...1

0...001

...2

1

0

,,2,1

2,2,22,1

1,1,21,1

,,2,1

2

1

0

=

nnnnn

nnnn

nnnn

nnnn

n a

a

a

a

fff

tftftf

tftftf

fff

p

p

p

p

r

r

r

r

r

r

r

r

( ) ( ) ( ) ( )

...0

,,...,,, 221100

nin

it

tpptpptpptpp

i

nn

==

====

gdjeparametaruz

točkepoznatesunekarrrrrrrr

.1,00 == ntt:smo uvrstili

( ) ( ) [ ]1,0,1

0 ∈+= ∑=

ttfaatp ni

n

i

i

rrr

Ž. M, ZEMRIS, FER 6-29

( ) ( ) ( )( ) ( ) ( )

=

n

nnnn

nnnn

n p

p

p

p

tftftf

tftftf

a

a

a

a

r

r

r

r

r

r

r

r

...

1...111

...............

...1

...1

0...001

...2

1

0

1

2,2,22,1

1,1,21,1

2

1

0

( ) ( ) ( )

( ) ( ) ...0,11,1

,..1,00,10,0

,0

,,00

nifap

niffap

ni

n

i

i

nin

===

====

∑=

tj. ječku završnu to za

tj. ječku početnu to za

:ćemouvrstit

rr

rr

funkcija.skih ovih težin-Bernstein

iliovih -Bezijer osnovi na doći krivulje točke

pojedine do možemo vektorenepoznateodredimokada iar

Ž. M, ZEMRIS, FER 6-30

* PRIMJER

Odrediti Interpolacijsku Bezierovu krivulju kroz četiri točke korištenjem Bezierovih težinskih funkcija.

( ) ( ) ( ) ( )

( ) ( ) [ ]

funkcije. esu težinsk poznate

krivulje Bezierove ijskeaproksimac za primjera prethodnog Iz

točkepoznatesuNeka

.1,0

.1,3/2,3/1,0

3,

3

10

3210

∈+=

====

∑=

ttfaatp

pppppppp

i

i

i

rrr

rrrrrrrr

( )( )( )( ) .

,23

,33

,1

33,3

323,2

323,1

3,0

ttf

tttf

ttttf

tf

=

−=

+−=

=

( ) ( ) ( ) 33

232

132

0 2333 atattatttatprrrrr +−++−+=

=

3

2

1

0

1

3

2

1

0

111127

8

27

20

27

261

27

1

27

7

27

191

0001

p

p

p

p

a

a

a

a

r

r

r

r

r

r

r

r

Ž. M, ZEMRIS, FER 6-31

6.3.3. RAZLOMLJENE FUNKCIJEPRIKAZ KRIVULJA POMOĆU KVADRATNIH RAZLOM. FUNKCIJA

• pogodan oblik za prikaz krivulja drugog reda

• homogena koordinata omogućava prikaz koničnih krivulja

(presjek ravnine i stošca) http://www.slu.edu/classes/maymk/banchoff/CriticalPoints.html

• invarijantnost na transformaciju perspektivne projekcije (nerazlomljene krivulje su invarijantne samo na translaciju, rotaciju, skaliranje)

prostoru

radnomu

++++==

++++==

++++==

ctbta

ctbta

x

xz

ctbta

ctbta

x

xy

ctbta

ctbta

x

xx

233

23

4

3

222

22

4

2

211

21

4

1

,

,

[ ] [ ] oblikmatrični

==cccc

bbbb

aaaa

ttxxxx

321

321

3212

4321 1X

Ž. M, ZEMRIS, FER 6-32

K - karakteristična matrica kvadratne krivulje,

• derivacije vektora [x1 x2 x3 x4] po parametru t - u homogenom prostoru

• matrica K ž krivulje

[ ] KX 12tt=

.2

,2

,2

,2

44

333

3

222

2

111

1

btatd

xdx

btatd

xdx

btatd

xdx

btatd

xdx

+==′

+==′

+==′

+==′[ ] [ ] KX 0124321 txxxx =′′′′=′

[ ] [ ]KX 0024321 =′′′′′′′′=′′ xxxx

[ ] KX 012 t=′

[ ] KX 002=′′

,10 ≤≤ t

Ž. M, ZEMRIS, FER 6-33

[ ] XK 12 1 −= tt

♣ kvadratna razlomljena krivulja određena je s tri točke

tri točke uvrstimo u jednadžbu krivulje,

uzmimo da su poznati iznosi parametra

[ ][ ][ ]1,1,

1,2

1,

1,0,

2222

1111

0000

VXV

VXV

VXV

==

==

==

t

t

t

−−−

=

=

=

−−

2

1

0

2

1

0

1

2

1

0

1

222

121

020

001

143

242

111

12/14/1

100

1

1

1

X

X

X

X

X

X

X

X

X

K

tt

tt

tt

Ž. M, ZEMRIS, FER 6-34

* PRIMJER

Neka su zadane tri točke

i pripadni iznosi parametra.

Odrediti kvadratnu razlomljenu krivulju.

[ ][ ][ ]100,1,

100,2

1,

100,0,

222

111

000

rt

rt

rt

−==

==

==

XV

XV

XV

−−

=

−−−

=100

0042

0040

100

100

100

001

143

242

r

rr

r

r

r

r

K

[ ] [ ]

−−

==100

0042

0040

124321

r

rr

r

ttxxxxX

( )( )

.1

,0

,444

,212

4

3

222

1

==

−=+−=−=+−=

x

x

ttrtrtrx

trrtrx

po komponentama

Ž. M, ZEMRIS, FER 6-35

Rezultat je parabola, to je opća krivulja drugog reda.

Ako želimo načiniti kružnicu potrebno je upotrijebiti analitičke poznate izraze za kružnicu. http://i33www.ira.uka.de/applets/mocca/html/noplugin/curves.html

( )

.1

,0

,2

,1

1

21

1

sin

cos

24

3

2

21

2

2

2

tx

x

trx

trx

t

try

t

trx

t

ry

rx

+==

=−=

+=

+−=

=

==

2tg

ϕϕϕ

[ ] [ ]

−==

100

0020

100

124321

r

r

r

ttxxxxX

x

y

V0=(r, 0)

V1=(0, r)

V2=(-r, 0)

Ž. M, ZEMRIS, FER 6-36

PRIKAZ KRIVULJA POMOĆU KUBNIH

RAZLOMLJENIH FUNKCIJA• kvadratnim razlomljenim funkcijama ne možemo prikazati infleksiju i

ostale pojave višeg reda

prostoru

radnomu

++++++==

++++++==

++++++==

dcttbta

dtctbta

x

xz

dcttbta

dtctbta

x

xy

dcttbta

dtctbta

x

xx

2333

23

33

4

3

2322

22

32

4

2

2311

21

31

4

1

,

,

[ ] [ ] oblikmatrični

==

dddd

cccc

bbbb

aaaa

tttxxxx

321

321

321

321

234321 1X

Ž. M, ZEMRIS, FER 6-37

A - karakteristična matrica kubne krivulje,

• derivacije vektora [x1 x2 x3 x4] po parametru t - u homogenom prostoru

• matrica A ž krivulje

• za određivanje kubne razlomljene krivulje potrebna su četiri uvjeta

(kako bi mogli invertirati matricu)

To mogu biti 4 točke ili na primjer 2 točke i 2 derivacije.

[ ] AX 123ttt=

.23

,23

,23

,23

244

332

33

3

222

22

2

112

11

1

ctbtatd

xdx

ctbtatd

xdx

ctbtatd

xdx

ctbtatd

xdx

++==′

++==′

++==′

++==′[ ] AX 0123 2

tt=′

[ ] AX 0026t=′′

,10 ≤≤ t

[ ] AX 0006=′′′

Ž. M, ZEMRIS, FER 6-38

♣ kubna razlomljena krivulja određena s dvije rubne točke i derivacije

x

y0V

,1V

t0 = 0

t1 = 1

0V′

1V′

( ) [ ] [ ]AX 12344444321 tttxzxyxxxxxxx ===

( ) ( ) ( ) ( ) [ ]AX 0123 244444321 ttxzxyxxxxxxx =

′′′′=′′′′=′

[ ][ ][ ][ ]

[ ][ ][ ][ ]

[ ][ ][ ][ ]A

A

A

A

A

A

A

A

VVX

VVX

VX

VX

0123

0100

1111

1000

0123

0123

1

1

,1

,0

,1

,0

12

1

02

0

12

13

1

02

03

0

411411411

400400400

411411

400400

1

0

1

0

=

=

=

=

=′′+′=′

=′′+′=′

==

==

=

=

=

=

tt

tt

ttt

ttt

xxx

xxx

xx

xx

t

t

t

t

http://www.theparticle.com/applets/nyu/BezierApplet/

Ž. M, ZEMRIS, FER 6-39

A

VV

VV

V

V

=

′′+′′′+′

0123

0100

1111

1000

41141141

40040040

41141

40040

xxx

xxx

xx

xx

′′+′′′+′

=

41141141

40040040

41141

40040

1

0123

0100

1111

1000

xxx

xxx

xx

xx

VV

VV

V

V

A

′′

′′

−−−−

=

0

0

1

1

00

00

000

000

0001

0100

1233

1122

1

0

1

0

4141

4040

41

40

V

V

V

V

A

xx

xx

x

x

MHVA = matricacijskatransformaauniverzaln.........M

Ž. M, ZEMRIS, FER 6-40

• Segment krivulje određen rubnim točkama i derivacijama u njima

M - ne ovisi o obliku krivulje već o izboru točaka (derivacija)

H - krivulja prolazi početnom i krajnjom točkom uz zadane derivacije,

a derivacija homogene komponente određuje kako će prolaziti

- ako je x’40= x’41= 0 dobit ćemo specijalan slučaj odnosno običnu parametarsku kubnu krivulju koja se zove HERMITOVA KRIVULJA

V - zadane točke i derivacije koje određuju segment krivulje u radnom prostoru

MHVA =

−−−−

=

0001

0100

1233

1122

M

′′

=

0

0

1

1

1

0

1

0

V

V

V

V

V

′′

=

4141

4040

41

40

00

00

000

000

xx

xx

x

x

H

[ ]AX 123ttt=

Ž. M, ZEMRIS, FER 6-41

• HERMITOVA KRIVULJA

• VEZA HERMITOVE I BEZIEROVE KRIVULJE (preko Bernsteinovih polinoma)

⇒ radi se o istoj krivulji

[ ]

′′

−−−−

=

0

0

1

1

0001

0100

1233

1122

1

1

0

1

0

23

V

V

V

V

X ttt

( ) [ ] .

0001

0033

0363

1331

3

2

1

0

23

−−

−−

=

r

r

r

r

tttttp

r

r

r

r

r

( )( )231

010

31

00

3

3

,

rr

rr

r

r

rr

rr

r

r

−=′−=′

==

V

V

V

V

Ž. M, ZEMRIS, FER 6-42

* PRIMJER

Neka su zadane dvije točke

i derivacije u njima.

Odrediti kubnu razlomljenu krivulju.

[ ][ ][ ][ ] .1,011

,0,011

,1,001

,0,000

11

00

11

00

=−=′==′====

t

t

t

t

V

V

V

V

[ ] [ ]baxxxx 1141404140 =′′

( )

+−−−+

=

−−−−

=

==

1000

011

201

00

0011

0011

1001

1000

100

010

0010

0001

0001

0100

1233

1122

a

bab

bab

b

aA

MHVA

[ ] [ ] AX 1234321 tttxxxx ==

Ž. M, ZEMRIS, FER 6-43

( ) ( )

( ) ( ) ?,

0

,12

,12

4

3

23

2

4

2

23

23

4

1

=

==

+++−++−==

+++−++−==

ba

x

xz

attbatba

tt

x

xy

attbatba

ttbtb

x

xx

Uvodimo dodatnu točku V2=(1/2 1/2 0), t2=1/2. ⇒ a=-2, b=2

0

,122

,122

22

2

2

2

23

=+−

+−=

+−+−=

z

tt

tty

tt

tttx

http://www.rose-hulman.edu/~finn/courses/MA323GeomModel/TestApplets/RationalC2Spline.html +/- A/Z

Ž. M, ZEMRIS, FER 6-44

VEZA KOORDINATA I PARAMETARSKIH DERIVACIJA IZMEĐU RADNOG I HOMOGENOG PROSTORA

• radni prostor:

• homogeni prostor

• VEZA KOORDINATA

( ) ( ) ( ) ( )[ ].zyxV tttt =( ) ( ) ( ) ( )

.zyxV

=dt

t

dt

t

dt

t

dt

td

( ) ( ) ( ) ( ) ( )[ ].4321 txtxtxtxt =X

( ) ( ) ( ) ( ) ( ).

xxxx 4321

=dt

t

dt

t

dt

t

dt

t

dt

td X

4

3

4

2

4

1 ,,x

xz

x

xy

x

xx ===

434241 ,, xzxxyxxxx ===

( ) [ ] [ ] [ ]11 4444444321 VX xzyxxxzxyxxxxxxx ====

[ ]14 VX x=

Ž. M, ZEMRIS, FER 6-45

• VEZA PRVE DERIVACIJE - homogena komponenta nije konstanta

• VEZA DRUGE DERIVACIJE

( ) ( ) ( ) ( )

( ) ( ) ( )[ ] [ ]

′′′′=′′+′′+′′+′

=

′′′′=′′′′=′

0

1444444444

44444321

zyx

zyxxxxzxzxyxyxxxxx

xzxyxxxxxxxX

[ ]

′′=′

0

144

V

VX xx

( ) [ ] ( )( ) ( )

( )[ ]4444

4444444

2

0

1

xxxx

xxxxxxx

′′′′+′′+′′=

=

′′″=′′′+′=

′′=′′=′′

VVV

VVVV

VXX

[ ]

′′′′′′=′′

0

0

1

2 444

V

V

V

X xxx

Ž. M, ZEMRIS, FER 6-46

* PRIMJER

Odrediti prvu derivaciju u homogenom i radnom prostoru na kružnicu.

[ ] [ ]

−==

100

0020

100

124321

r

r

r

ttxxxxX

.2

,2

,2

4

2

1

tx

rx

rtx

=′=′

−=′

( ).

21

12

,21

4

4

242

2

4

2

4

142

4

1

x

x

tt

tr

x

xy

x

x

tt

rt

x

xx

′′

≠++

−=′

=′

′′

≠++

−=′

=′

( )

.1

,2

,1

24

2

21

+=

=−=

tx

rtx

trx

:prostorhomogeni

( )

.1

2

,1

1

2

2

2

t

rty

t

trx

+=

+−=

:prostorradni

Ž. M, ZEMRIS, FER 6-47

t x1 x2 x4 x y x’1 x’2 x’4 x’ y’

0 r 0 1 r 0 0 2r 0 0 2r

1 0 2r 2 0 r -2r 2r 2 -r 0

-1 0 -2r 2 0 -r 2r 2r -2 r 0

x

y

V0=(r, 0)

V1=(0, r)

V-1=(-r, 0)

ostzakrivljen

tangentenagib

322

2

x

xyxy

dx

dt

x

xyxy

dx

dy

dx

d

dx

yd

x

y

dt

dxdt

dy

dx

dy

&

&&&&&&

&

&&&&&&

&

&

−=−=

=

==

http://www.math.aau.dk/~raussen/VIDIGEO/GEOLAB/speed.html

( ) ( ))(curvatureost zakrivljen

13

223

ryx

xyyx=

′+′

′′⋅′−′′⋅′=

′′×′=

r

rrκ

Ž. M, ZEMRIS, FER 6-48

6.3.4 POVRŠINE • promatramo geometrijsko mjesto točaka (trag) koji nastaje ako se neka

krivulja pomiče i istovremeno deformira u prostoru

• segment površine čini krpicu http://www.slu.edu/classes/maymk/banchoff/TangentPlane.html

povezivanje krpica uz ostvarivanje kontinuiteta duž spojeva

– C0 jednakost točaka krivulja duž spoja

– C1 iste parcijalne derivacije (poprečno)

– C2 zakrivljenost (poprečno)

POVRŠINA BEZIERA

• ako koristimo krivulje Beziera - dobit ćemo krpicu Beziera, 2.

• GENERATRISA - generira površinu

• DIREKTRISA - će generatrisa gibati kroz prostor

• http://www.ibiblio.org/e-notes/Splines/Surf.wrl

• tenzorski produkt dvije krivulje http://www.gris.uni-tuebingen.de/edu/projects/grdev/applets/tensorproduct/html/index_en.html

http://www.gris.uni-tuebingen.de/edu/projects/grdev/applets/bezpatch/html/index_en.html

Ž. M, ZEMRIS, FER 6-49

• površina je funkcija dva parametra u, v

• generatrise

• direktrise

u

v00rr

01rr

02rr 03r

r

10rr

11rr

12rr

13rr

20rr

30rr

21rr

31rr

22rr

32rr

33rr

23rr

Ž. M, ZEMRIS, FER 6-50

• prva i zadnja direktrisa zovu se glavne direktrise jer kontrolne točke generatrise leže na njima

• putanje vrhova kontrolnih poligona generatrise direktrise

⇒ direktrise ne leže na površini (osim glavnih direktirisa)

npr. bikvadratne, bikubične*** http://www.cs.technion.ac.il/~cs234325/

( ) [ ]( )( )( )( )

=

τ

τ

τ

τ

vD

vD

vD

vD

Muuuvup

3

2

1

0

23 1,r

Ž. M, ZEMRIS, FER 6-51

• pojedine direktrise

• krpica površine http://www.nbb.cornell.edu/neurobio/land/OldStudentProjects/cs490-96to97/anson/BezierPatchApplet/

( ) [ ] ( ) [ ]

=

=

13

12

11

10

231

03

02

01

00

230 11

r

r

r

r

MvvvvD

r

r

r

r

MvvvvD

( ) [ ] ( ) [ ]

=

=

33

32

31

30

233

23

22

21

20

232 11

r

r

r

r

MvvvvD

r

r

r

r

MvvvvD

( ) [ ]

=

1

1,2

3

33323130

23222120

13121110

02020100

23

v

v

v

M

rrrr

rrrr

rrrr

rrrr

Muuuvupτr