interpolacija
Post on 29-Dec-2015
78 Views
Preview:
DESCRIPTION
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
top related