Čištění dat
DESCRIPTION
Čištění dat. Cleaning. Vstup: Množina geometrických objektů Výstup: Mapová vrstva s topologií. Požadavky na topologicky vyčištěná data. Linie navazují ve společných uzlech Plochy jsou uzavřené liniemi Linie nesou informace o sousedních plochách (okřídlená hrana, Winged Edge). - PowerPoint PPT PresentationTRANSCRIPT
Čištění dat
Cleaning
• Vstup: Množina geometrických objektů
• Výstup: Mapová vrstva s topologií
Požadavky na topologicky vyčištěná data
• Linie navazují ve společných uzlech
• Plochy jsou uzavřené liniemi
• Linie nesou informace o sousedních plochách (okřídlená hrana, Winged Edge)
Postup čištění dat
• Aproximace hran lomenými čarami
• Eliminace duplicitních hran– Odstranění děr (gap) a štěpin (splint)
• Odstranění přetahů (dangle node)
• Odstranění mezer a nedotahů
• Segmentace hran
• Generování polygonů
Aproximace hran
Aproximation distance
Lineární interpolace
Kvadratická interpolace
Interpolace polynomem 4 stupněInterpolované body:
(-2,4) (-1,0) (0,3) (1,1) (2,-5)
Rovnice:
16a -8b +4c -2d + e = 4
a - b + c -d +e = -3
e = 3
a + b + c + d +e = 1
16a +8b +4c +2d +e =-5
Řešení:
a=0.458 b=-0.75 c=-2.95
d=1.25 e=3
Funkce:
0.458*x^4-0.75*x^3-2.95*x^2+1.25*x+3
Spline křivka
• Křivka se skládá z úseků vyjádřených polynom nižšího stupně, než odpovídá počtu bodů. Křivky na sebe v hraničních bodech hladce navazují
Lineární „spline“
• Polynomy prvního stupně.
• V hraničních bodech na sebe navazují spojitě.
• Není zaručena spojitost ani první derivace.
• Česky se tomu říká lomená čára
Kvadratický spline
• Křivka jsou úseky parabol.• V hraničních bodech na sebe paraboly
hladce navazují – mají spojitou první derivaci.
• Další derivace nemusí být (a obvykle nejsou) spojité.
• Je nejpoužívanější, pokud se řekne jen spline, myslí se obvykle kvadratický spline (viz AutoCAD)
Kvadratický spline
Spline křivky vyšších stupňů
• Kubický – funkce po částech 3-tího stupně (kubika), zaručuje spojitost první a druhé derivace
• Obecný (n-tého stupně), zaručuje spojitost (n-1). derivace.
Aproximační křivky
• Nemusí procházet přímo zadanými body.
• Formálně lze za aproximační křivku považovat libovolnou křivku.
• Problém je nalézt takové vyjádření, které bude– Jednoduché– Bude dostatečně dobře aproximovat danou
křivku
Bézierova aproximace (Bézierova křivka)
• Aproximace polynomem daného stupně n-tý stupeň pro n+1 bodů P0,P1,…,Pn
• Křivka prochází krajními body P0 a Pn• Tečna v počátečním bodě P0 je
rovnoběžná s vektorem P0P1.• Tečna v koncovém bodě Pn je rovnoběžná
s vektorem Pn-1 Pn• Celá křivka leží v konvexním obalu bodů
P0, … ,Pn
Vyjádření Bézierovy křivky
Lineární Bézierova křivka
• B(t) = (1-t).P0 + t.P1• Parametrická rovnice
úsečky
Kvadratická Bézierova křivka
• B(t) = (1-t)2P0 + 2t(1-t)P1 + t2P2
Kubická Bézierova křivka
B(t) = (1-t)3P0 + 3t(1-t)2P1 + 3t2(1-t)P2 + t3P3
Bézierovy křivky vyšších řádů
• Příklad vzorce pro křivku 5.stupně
Odstranění přetahů
Dangle distance
Odstranění mezer
Fuzzy tolerance
Fuzzy tolerace
• Maximální vzdálenost dvou bodů, které se mají při čištění dat ztotožnit
Odstraňování nedotahů
Fuzzy tolerance
Díry a štěpiny
Krakonošovo
Trautenbergovo
Gap
splinter
f.t.
Krakonošovo
Trautenbergovo
Segmentace hran (hledání průsečiků)
E1
E2
E1
E2
E3E4
Okřídlená hrana
LBRB
LFRF
LP RP
Generování polygonů