3d-s számítógépes...
TRANSCRIPT
3D-s számítógépes geometria 1
3D-s számítógépes geometria
Dr. Várady TamásBME, Villamosmérnöki és Informatikai KarIrányítástechnika és Informatika Tanszék
https://www.vik.bme.hu/kepzes/targyak/VIIIAV01
7b. A Bézier
és B-spline
reprezentáció
kiterjesztése
3D-s számítógépes geometria 2
TartalomHiányos csomóvektorok
motivációlokális kontrollpont alapú spline felületekT-spline konstrukció
Racionális polinomokmotivációprojektív transzformációkúpszeletekracionális görbék és felületekforgásfelületek
3T-spline-ok
T-spline1
u
v
NURBS –
4712, T-spline
–
1109 kontrollpont
•
B-spline
felületek két csomóvektor: ui, vjkontrollpontok rács topológiába rendezve
•
Problémák komplex esetekben redundáns struktúraszámítási hatékonyságsimaság
•
Példa: 2x2 csomó
beszúrása8 helyett 2nm új kontrollpont keletkezik
•
Cél: a csomó struktúra általánosításaa kontrollpontok számának optimalizálása
4T-spline-ok
T-Spline2Módosított definíció:
Csomóértékek → CsomóintervallumokKontrollpoligon élein címkék: di
= ui+1
– ui [(0),1,2,3,4,6,9,10,11,(12)]
Kontrollpontok - a csomórács pontjaihoz rendeljükPoláris koordináták a szomszédos csomók alapján
P0
=P012
P1
=P123 P2
=P235
P3
=P356
0 1 2 3 5 6
5T-spline-ok
T-Spline3Pontok alapján definiált általános spline felület:
kontrollpontok - csak néhány metszéspontbanbázisfüggvények – a szomszédos csomóintervallumok Ui ,Vi alapján a pontok teljesen függetlenek
Példa:n=m=3, a középső ponthoz tartozócsomóvektorokUi = [si0, si1, si2, si3, si4]Vi = [ti0, ti1, ti2, ti3, ti4]
Cél: a csomóvektorok automatikus meghatározása
,)()()()(
),( ,0
,0
,0
,0
∑∑=
iVimUin
iVimUin
i
tNsNtNsN
tsP
S
P1
P2
P4
P3
6T-spline-ok
T-Spline4
T-spline : hiányos rács struktúra T-elágazásokkal
Szabályok:egy lap szemben levő éleinek hossza azonos;pl. F: e6 + e7 = e8 + e9
ha két szemben lévő T-elágazáscsomóértéke megegyezik, ezeketössze kell kötni egy belső
éllel;pl. ha e7 = e9,
Csomók meghatározása, harmad-fokú példák
a széleken a kimaradó csomónem számít (azonosnak vehetjük)
P1 : [s1 , s2 , s3 , s4 , s5 -d8 ] [t1 -e0 , t1 , t2 , t3 , t4 +e9 ]
P2 : [s3 , s3 +d6 , s5 -d8 , s5 , s5 +d5 ] [t1 , t2 , t3 , t4 , t5 ]
P3 : [s1 -d0 , s1 -d0 , s1 , s2 , s2 +d7 ] [t1 , t5 -e4 +e9 -e7 , t5 , t5 +e5 , t5 +e5 ]
7Projektív leképzés
Projektív leképzés1
Affin leképzésegyenes → egyenesszakaszok aránya őrződik:
Projektív leképzésegyenes → egyenesnégy pont egy egyenesen; kettősviszony (cross
ratio) definició:
o vetítési középpontΩ vetítési sík (kép sík)a kettősviszony őrződik
a
bc
cb
a|ˆˆ|/|ˆˆ||/|| cbbabcab =
||/||||/||][
cdacbdababcd =
ab
c
d
Ω
a b c d
]ˆˆˆˆ[][ dcbaabcd =
8Projektív leképzés
Projektív leképzés2
∆ területek aránya alapján:
⇒ a kettősviszony csak az o-beli szögektől függ
legyen
a két egyenes közötti parametrizációracionális, felírható az alábbi alakban:
γβαγβα
sin/)(sin)(/)(||/||)(sin/sin)(/)(||/||
4331
4221
llllllll
+=ΔΔ=+=ΔΔ=
cdoacocdacbdoabobdab
]1ˆˆ0[]ˆˆˆˆ[];10[][ tbbt →→ dcbaabcd
),,(||/||||/||][ γβαf==
cdacbdababcd
tctctct
12
1
)1(ˆ
+−=
o
9Kúpszeletek
Kúpszeletek1kúpszelet létrehozása projekcióvaltérbeli parabola síkba vetítése
a projekció középpontja az origóa projekció síkja a z=1 sík
tetszőleges w-re (projektív egyenes)
parabola:
kúpszelet:
]1,//[],[],1,[:3D],[ :D2
zz,yxzx,yx,yx,y
→
][],[],,[],[ xx →→ wwyxwwx,wy
)()()()( 222
211
200 tBtBtBt pppp ++=
2,1,0],,[
,)()()(
)()()()( 222
211
200
2222
2111
2000
==++++
=
iwwtBwtBwtBw
tBwtBwtBwt
iiii bp
bbbc
10Kúpszeletek
Kúpszeletek2racionális törtfüggvények:
mindig átparaméterezhető:
kúpszeletek osztályozása:parabola
hiperbola
ellipszis
kör:
]1,,1[],,[,,**)1(
**, *1210
0
2 wwwwww
tttttt →=
+−=→ ρρ
5.0,1*1 == sw
)()(cos)()()(cos)()( 2
221
20
222
211
200
tBtBtBtBtBtBt
++++
=αα bbbc
)()()()(
,)()()(
)()(
222
211
200
222
211
200
202
tBtBtBttBwtBwtBw
tBwtB ii
bbbc ++=
++=
5.0,1*1 >> sw
5.0,1*1 << sw
αcos*1 =w
0b
1b
2bα
*1
*1
1 wws+
=
11Kúpszeletek
Köregyenlet (kitérő)egyenlet:
felezőpont (behelyettesítés -egyenlet teljesül):
félkörív:
22
22
)1(2cos)1(01
)1(2tg0
cos)1(01
)(tttt
ttttt
+−+−
⎥⎦
⎤⎢⎣
⎡+−⎥
⎦
⎤⎢⎣
⎡+−⎥
⎦
⎤⎢⎣
⎡−
=α
αα
c
o90→α
)0,1(0 −=b
)tg,0(1 α=b
)0,1(2 =b
α
ααsin
1=Rα
αααα
αcos1
sintg1
sin1,
cos1sin)5.0(
++=
+=yc
⎟⎠
⎞⎜⎝
⎛++
−=⇒
−=
⎟⎠
⎞⎜⎝
⎛+−−
+−+−−
=
12,
11)(;1
,)1(
)1(2,)1()1()(
22
2
2222
22
uu
uuu
ttu
tttt
ttttt
c
c
αtg1
12Kúpszeletek
Racionális Bézier
görbékracionális Bézier görbe:
súlyok görbe módosításújraparametrizálás
∑
∑
=
== n
j
njj
ni
n
iii
tBw
tBwt
0
0
)(
)()(
cr
ii
i wcw =*
2=c
1=c
5.0=c
13Kúpszeletek
Racionális egyenletekracionális Bézier görbe:
racionális B-spline görbe:
racionális Bézier (B-spline) felület:
elsődleges alkalmazás - forgásfelületek
∑
∑
=
== n
j
njj
ni
n
iii
tBw
tBwt
0
0
)(
)()(
cr
∑
∑
=
== L
j
njj
ni
L
iii
tNw
tNwt
0
0
)(
)()(
dr
)()(
)()(),(
0 0
0 0
uBuBw
uBuBwvu
mj
ni
n
iij
m
j
mj
ni
n
iijij
m
j
∑∑
∑∑
= =
= ==c
s
14Következő előadás
A következő
előadás tartalma
Görbe
interpoláció
-
szakaszonkéntparametrikus és geometriai folytonosságBézier szegmensek illesztése
B-spline görbe
interpolációvégponti kényszerek, egyenletrendszercsomóvektor - különböző parametrizációk
B-spline görbe
approximációlegkisebb négyzetes minimalizálásismeretlen felület, ismeretlen parametrizációiteratív eljárás, paraméter korrekció
B-spline felület approximációáltalánosításparaméter korrekció