Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Ž. M, ZEMRIS, FER 4-1
4. Krivulje i površine
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 4-2
PODJELA KRIVULJA
• aproksimacijske• interpolacijske
• otvorene • zatvorene
• razlomljene• nerazlomljene
• periodične• neperiodične(periodičnost težinskih funkcija)
11213123 112
13
1 dtctbtatxdctbtat
dtctbtatx
Ž. M, ZEMRIS, FER 4-3
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 4-4
• 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 4-5
C0 - ista vrijednost koordinate f(t) = g(t)
C1 - ista vrijednost derivacije f ’(t) = g’(t)
C2 - ista vrijednost druge derivacije f ’’(t) = g’’(t)
Zakrivljenost krivulje obrnuto je proporcionalna radijusu oskulatorne kružnice.
Ako je radijus velik zakrivljenost je mala (i obrnuto).
C3 - ista vrijednost treće derivacije f ’’’(t) = g’’’(t)
Osim C kontinuiteta postoje i G kontinuiteti koji zahtijevaju proporcionalnost.
G (geometrijski)
G1 - proporcionalna vrijednost derivacije f ’(t) = k1 g’(t), k1>0
G2 - proporcionalna vrijednost druge derivacije f ’’(t) = k2 g’’(t), k2>0
G3 - proporcionalna vrijednost treće derivacije f ’’’(t) = k3 g’’’(t), k3>0
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.
Ž. M, ZEMRIS, FER 4-6
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
y0p
,1p
,ip
t = 0
t = ti
t = 1
.zyxV tttt .Vitii
ptpt
Ž. M, ZEMRIS, FER 4-7
4.1 SEGMENT KRIVULJE4.1.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 4-8
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.
tp
x
y
0r
1r
2r
3r
0a
1a
2a
3a
1,0,0
ttfatp nin
ii
nirra
ra
iii ..1,
,
1
00
Ž. M, ZEMRIS, FER 4-9
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 4-10
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 4-11
BEZIEROVE TEŽINSKE FUNKCIJE
rekurzivni oblik pogodan za implementaciju na računalu:
n..iidt
tt
td
td
i
ttf
i
n
nin
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 4-12
* PRIMJER
Odrediti Bezierove težinske funkcije
ako su zadane četiri točke.
,3311 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)
3323213203,
3
0
2333
,
atattatttatp
tfatp ii
i
Ž. M, ZEMRIS, FER 4-13
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
Ž. M, ZEMRIS, FER 4-14
b) BERNSTEINOVE TEŽINSKE FUNKCIJE
De Casteljau - intuitivna geometrijska konstrukcija
x
y0 t 1
00 rb
22 rb
11 rb
221022,0
1,11,02,0
211,1
101,0
121
,1,1
,1
btbttbtb
btbtbbtbtb
btbtb
:uvrstimo-
:ijeinterpolaclinearneuzastopne-
tp 1,1b1,0b
2,0b
0 t 1
11 rb
y
00 rb
22 rb
33 rb
x
1,1b
1,0b
1,2b
2,1b2,0b
tp3,0b
http://saltire.com/applets/spline.htmhttp://www.cs.technion.ac.il/~cs234325/
Ž. M, ZEMRIS, FER 4-15
- poopćenje ovog postupka daje De Casteljau-ov algoritam
krivulji.natočka
poligona,kontrolnogvrhovi
tptb
rbtb
rninrtbtbtb
n
iii
ririri
,0
0,
1,11,, ,..0,..1,1
1,0,0
ttbrtp nin
ii
pokušajaudogađajatočnopostizanjastvjerojatno
pokušaja1odsvakomu događajastvjerojatnot
:razdiobabinomnaDiskretna
stupnjapolinomiviBernsteinofunkcijebazne
1
1!!
!1
,
,
,
nib
n
ttini
ntt
i
ntb
ntb
ni
iniinini
ni
1,010
,
ttbn
inivrijedi
Ž. M, ZEMRIS, FER 4-16
* 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
tb iii
t1
b(t)
b0, 3(t)
b1, 3(t)
b3, 3(t)
b2, 3(t)
33221230
3,
3
0
13131
,
rtrttrtttrtp
tbrtp ii
i
.31
,30
23
01
rrp
rrp
1ry
tp
0r
2r
3r
x
http://www.cs.brown.edu/
Ž. M, ZEMRIS, FER 4-17
Matrično:
Za tangentu na Bezierovu krivulju opisanu preko Bernsteinovihtežinskih funkcija vrijedi:
Veza Bezierovih i Bernsteinovih težinskih funkcija:
.0001
0033
0363
1331
3
2
1
0
23
r
r
r
r
tttttp
...0,,, nitbtfn
ijnjni
krivuljestupanj...1
,0
1
01
nrrnp
rrnp
nn
nirarar
ili
nirrara
iii
iii
..1,,
,..1,,
100
100
Ž. M, ZEMRIS, FER 4-18
SVOJSTVA APROKSIMACIJSKIH BEZIEROVIH KRIVULJA• postoji konveksna ljuska
suma težinskih funkcija je 1važno kod ispitivanja sjecišta krivulje
• 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• 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
1ry
tp
0r
2r
3r
konveksna ljuska
Ž. M, ZEMRIS, FER 4-19
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
0r 1r
2r
3r
tp
0a
1a
2a
3a
1,0,1
0
ttfaatp nin
ii
uvjet.1poznavatijePotrebno
krivuljioželjenogilipoznatognečega
temeljunaseodređujenepoznato
točakabrojaosnovinapoznato
n
a
f
i
ni
,
...0,, nin
ittp iii
.,1
tfatp nin
iiii
.,1
tfatp nin
iiii
Ž. M, ZEMRIS, FER 4-20
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
...0
,,...,,, 221100
nin
it
tpptpptpptpp
i
nn
gdjeparametaruz
točkepoznatesuneka
.1,00 ntt:smouvrstili
1,0,1
0
ttfaatp nin
ii
Ž. M, ZEMRIS, FER 4-21
n
nnnn
nnnn
n p
p
p
p
tftftf
tftftf
a
a
a
a
...
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
ii
nin
tj.ječku završnu toza
tj.ječku početnu toza
:ćemouvrstit
funkcija.skih ovih težin-Bernstein
iliovih -Bezijerosnovinadoćikrivuljetočke
pojedinedomožemo vektorenepoznateodredimokada ia
Ž. M, ZEMRIS, FER 4-22
* PRIMJER
Odrediti Interpolacijsku Bezierovu krivulju kroz četiri točke korištenjem Bezierovih težinskih funkcija.
funkcije.esu težinskpoznate
krivuljeBezijeroveijskeaproksimaczaprimjeraprethodnogIz
točkepoznatesuNeka
.1,0
.1,3/2,3/1,0
3,
3
10
3210
ttfaatp
pppppppp
ii
i
.
,23
,33
,1
33,3
323,2
323,1
3,0
ttf
tttf
ttttf
tf
332321320 2333 atattatttatp
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
Ž. M, ZEMRIS, FER 4-23
4.1.2. 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 4-24
K - karakteristična matrica kvadratne krivulje,
• derivacije vektora [x1 x2 x3 x4] po parametru t - u homogenom prostoru
• matrica K određuje i derivacije duž krivulje
KX 12 tt
.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 4-25
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
XK 12 1 tt
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 4-26
* 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
124321r
rr
r
ttxxxxX
.1
,0
,444
,212
4
3
222
1
x
x
ttrtrtrx
trrtrx
po komponentama
Ž. M, ZEMRIS, FER 4-27
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
124321r
r
r
ttxxxxX
x
y
V0=(r, 0)
V1=(0, r)
V2=(-r, 0)
Ž. M, ZEMRIS, FER 4-28
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 4-29
A - karakteristična matrica kubne krivulje,
• derivacije vektora [x1 x2 x3 x4] po parametru t - u homogenom prostoru
• matrica A određuje i derivacije duž 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 123 ttt
.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 4-30
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
Ž. M, ZEMRIS, FER 4-31
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 4-32
• 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
AX 123 ttt
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
Ž. M, ZEMRIS, FER 4-33
• 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
231
010
31
00
3
3
,
rr
rr
r
r
V
V
V
V
Ž. M, ZEMRIS, FER 4-34
* 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 4-35
?,
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
Ž. M, ZEMRIS, FER 4-36
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
xy
x
xy
x
xx
434241 ,, xyxxyxxxx
11 4444444321 VX xzyxxxzxyxxxxxxx
14 VX x
Ž. M, ZEMRIS, FER 4-37
• 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 444V
V
V
X xxx
Ž. M, ZEMRIS, FER 4-38
* PRIMJER
Odrediti prvu derivaciju u homogenom i radnom prostoru na kružnicu.
100
0020
100
124321r
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 4-39
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)
tangentenagib
dtdxdt
dy
dx
dy
http://www.math.aau.dk/~raussen/VIDIGEO/GEOLAB/speed.html