itn dat Cleaning Vstup Mnoina geometrickch objekt Vstup
Č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: 16 a -8 b +4 c -2 d + e = 4 a - b + c -d +e = -3 e=3 a+ b + c + d +e = 1 16 a +8 b +4 c +2 d +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^32. 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 Auto. CAD)
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ů P 0, P 1, …, Pn • Křivka prochází krajními body P 0 a Pn • Tečna v počátečním bodě P 0 je rovnoběžná s vektorem P 0 P 1. • Tečna v koncovém bodě Pn je rovnoběžná s vektorem Pn-1 Pn • Celá křivka leží v konvexním obalu bodů P 0, … , Pn
Vyjádření Bézierovy křivky
Lineární Bézierova křivka • B(t) = (1 -t). P 0 + t. P 1 • Parametrická rovnice úsečky
Kvadratická Bézierova křivka • B(t) = (1 -t)2 P 0 + 2 t(1 -t)P 1 + t 2 P 2
Kubická Bézierova křivka B(t) = (1 -t)3 P 0 + 3 t(1 -t)2 P 1 + 3 t 2(1 -t)P 2 + t 3 P 3
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 splinter f. t. Krakonošovo Trautenbergovo Gap Trautenbergovo
Segmentace hran (hledání průsečiků) E 1 E 2 E 4 E 3
Okřídlená hrana LF LP LB RF RP RB
Generování polygonů
- Slides: 28