3D-s számítógépes geometria 5. B-spline görbék és felületek 3D-s számítógépes geometria 1 Dr. Várady Tamás BME, Villamosmérnöki és Informatikai Kar Irányítástechnika és Informatika Tanszék http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/VIIIAV01
22
Embed
3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott...3D-s számítógépes geometria 5. B-spline görbék és felületek 3D-s számítógépes geometria
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
3D-s számítógépes geometria
5. B-spline görbék és felületek
3D-s számítógépes geometria 1
Dr. Várady TamásBME, Villamosmérnöki és Informatikai KarIrányítástechnika és Informatika Tanszék
# "valódi" domén intervallumok = # görbe-szegmensek (S)
],[;0)(1++
∈≥nii
n
iuuuuN
2,3 Cn =
.],,,[ 110 −Kuuu K
iP↔
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7
4
7
=
=
S
K
3
8
3
=
=
=
S
K
n
B-spline bázisfüggvények2
egyenletes (uniform) csomóvektor:
nem egyenletes (non-uniform) csomóvektor:
bázisfüggvények
],,,[ 110 −Kuuu K
]1,,1,0[ −KK
],[,1)(n
nuuuuN ∈=∑
6B-spline bázisfüggvények
folytonosság a csomókban:multiplicitás:
belső csomónál:
],[,1)( 10
nKni
n
i uuuuN −−=
∈=∑
],,,,,[11110 −−++ ===
Krjjjuuuuuu KKK
1−nC
)1( −−→ rSS
rnnCCr
−− →1,
B-spline bázisfüggvények3interpoláció a végeken (lásd előző ábra):
tartóintervallum (support):
rekurzív formula:
2,,0,0
),[1)(
10 −= ∈
= +Ki
uuuuN
ii
iK
−−
],,,[ 1110 −−− ===== KnKjn uuuuuu KKKK
],[ 1++∈ nii uuu
7B-spline bázisfüggvények
periodikus bázisfüggvények:
)()()( 1
1
11
11uN
uu
uuuN
uu
uuuN
n
i
ini
nin
i
ini
in
i
−
+
+++
++−
+ −
−+
−
−=
Kuu =0
1u
1−Ku SLK ==
?Bázisfüggvények
Tulajdonságok:• affin invariancia• konvex burok • Cn-1 folytonos a csomókban• folytonosság csökkenthető (csomó multiplicitás)• szigorúan lokálisan módosítás• egyenes reprodukció
B-spline görbék)(=)(
1
0=
uNun
ii
K
i
Pr ∑−
?B-spline görbe
P0
P1
P2
P
u=1
u=3
u=0
u=4
8B-spline görbék
• egyenes reprodukció• változást csökkentő tulajdonság
Harmadfokú B-spline görbe• végponti (pozició, tangens) interpoláció• harmadfokú görbedarabok• a súlyfüggvények a csomóvektortól függnek• minden csomóhármas meghatároz egy
kontrollpontot, az i-edik kontroll pont Grevilleabszcisszája:
1. új csomó beszúrása u=3-nál 2. a kontroll poligon újraszerkesztése
P(0,0,0)
[(0),0,0,0,1,4,6,6,6,(6)]
P(1,4,6)
P(6,6,6)
P(4,6,6)
[(0),0,0,0,1,3,4,6,6,6,(6)]
Ismétlés - polár koordináták
P0 [0,6]
P1P2
P3P0
[0,6,9]
P1
P2
P3
P4
16Polár koordináták
P(0,0,0)
[0,0,0,6,9,9,9]
P(0,0,6)
P(0,6,9)
P(6,9,9)
P(9,9,9)
P(0,6,3)
(5,5)
(11,8)(7,6)
P(0,0,0)
[0,0,0,6,6,6]
P(0,0,6)P(0,6,6)
P(6,6,6)
P(0,2,6)
P(0,0,2)
Bézier B-spline
Ujjgyakorlat - csomó beszúrás
P(0,0,1)P(0,1,4) P(0,0,1)
P(0,1,3)
P(1,3,4)
17B-spline algoritmusok
P(0,0,0)
[(0),0,0,0,1,4,6,6,6,(6)]
P(1,4,6)
P(6,6,6)
P(4,6,6)
[(0),0,0,0,1,3,4,6,6,6,(6)]
P(0,0,0)
[(0),0,0,0,1,4,6,6,6,(6)]
P(3,4,6)
P(6,6,6)
P(4,6,6)
[(0),0,0,0,1,3,4,6,6,6,(6)]
B-spline − de Boor algoritmus
• n-szer ismételt csomó-beszúrás
B-spline - Algoritmusok2
P(0,0,0)
P(0,0,1)P(0,1,2)
P
P(0,1,3)
P(1,2,2)
P
18B-spline algoritmusok
• n-szer ismételt csomó-beszúrás
görbe kettévágása → de Boor
),...,,()( uuuu Pr =
P(0,0,0) P(1,2,3)
P(4,4,4)
P(2,3,4)P(3,4,4)
P(1,3,4)
[(0),0,0,0,1,2,2,2,3,4,4,4,(4)] →
P(2,2,2)
P(2,2,3)
r(2)=P(2,2,2)
?de Boor
kapcsolódó Bézier szegmensek
előállítása
• példa:
• cél:
B-spline - Algoritmusok3
]3,1[,)( ∈uuB
r
)3,3,(3)3,3,(1)3,1,(1)1,1,(1 ,,, PPPP
P(0,0,0)
P(0,0,1)P(0,1,1)
P(1,1,3)
P(0,1,3)
P(1,1,1)
19B-spline algoritmusok
• cél:
• lépések:
)3,3,(3)3,3,(1)3,1,(1)1,1,(1 ,,, PPPP
{ } { }{ } { }{ } { } K)1,1,(1)3,1,(1)1,1,(0
)1,1,(0)3,1,(0)1,0,(0
)3,3,(1)3,1,(1)4,3,(1)3,1,(0
,
,
,,
PPP
PPP
PPPP
⇒
⇒
⇒
[(0),0,0,0,1,3,4,4,4,(4)]
P(4,4,4)
P(3,3,4)P(3,4,4)P(1,3,4)
P(1,3,3)P(3,3,3)
Bézier − B-spline: összehasonlításBézier görbék
• egyszerű formula• belül C∞ folytonos• csak “kvázi” lokális• nagy n-re − belül gyengébb tervezési kontroll lehetőség, relatíve nagy konvex burok• szegmensek illesztése nehéz
B-spline görbék
• bonyolultabb• a csomókban Cn-1 folytonosság• szigorúan lokális• erős belső tervezési kontroll lehetőség, szűkebb konvex burok• szegmensek automatikusan illeszkednek• zárt görbék• tartalmazza a Bézier reprezentációt