Rovinné triangulace a jejich využití.



Podobné dokumenty
Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Triangulace. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Rovinné triangulace a jejich využití.

4. Digitální model terénu.

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Algoritmizace prostorových úloh

Konvexní obálka množiny bodů.

Geometrické vyhledání.

Geometrické vyhledávání

GIS Geografické informační systémy

INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Digitální model reliéfu (terénu) a analýzy modelů terénu

Topografické mapování KMA/TOMA

Vzorce počítačové grafiky

GIS Geografické informační systémy

Úvod do výpočetní geometrie. Základní vztahy.

Dynamické datové struktury III.

Digitální modely terénu.

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

Topologická kostra. Medial Axis. Straight Skeleton.

Rastrová reprezentace geoprvků model polí Porovnání rastrové a vektorové reprezentace geoprvků Digitální model terénu GIS 1 153GS01 / 153GIS1

9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D.

Detekce kartografického zobrazení z množiny

Algoritmy používané ve výpočetní geometrii

11 Zobrazování objektů 3D grafiky

Dynamické datové struktury IV.

Kružnice, úhly příslušné k oblouku kružnice

Algoritmy výpočetní geometrie

Topografické plochy KG - L MENDELU. KG - L (MENDELU) Topografické plochy 1 / 56

Konvexní obálka množiny bodů.

GEODETICKÉ VÝPOČTY I.

Gymnázium Jiřího Ortena, Kutná Hora. Průřezová témata Poznámky. Téma Školní výstupy Učivo (pojmy) volné rovnoběžné promítání průmětna

Konvexní obal a množina

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Výpočetní geometrie Computational Geometry

9 Prostorová grafika a modelování těles

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Trojúhelník a čtyřúhelník výpočet jejich obsahu, konstrukční úlohy

4EK213 LINEÁRNÍ MODELY

mapa Moravy podle J.A.Komenske ho, roku 1627

Jana Dannhoferová Ústav informatiky, PEF MZLU

Matematika I 12a Euklidovská geometrie

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

MATURITNÍ TÉMATA Z MATEMATIKY

Terestrické 3D skenování

Úvod do mobilní robotiky AIL028

AB = 3 CB B A = 3 (B C) C = 1 (4B A) C = 4; k ]

P L A N I M E T R I E

Grafové algoritmy. Programovací techniky

5. P L A N I M E T R I E

2. Vyšetřete všechny možné případy vzájemné polohy tří různých přímek ležících v jedné rovině.

Kristýna Bémová. 13. prosince 2007

Dvěma různými body prochází právě jedna přímka.

Bakalářská matematika I

Teorie sférické trigonometrie

Výpočetní geometrie. Pavel Strachota. 9. listopadu FJFI ČVUT v Praze

Grafové algoritmy. Programovací techniky

Trojúhelníky. a jejich různé středy. Součet vnitřních úhlů trojúhelníku = 180 neboli π radiánů.

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b

SYLABUS 9. PŘEDNÁŠKY Z INŢENÝRSKÉ GEODÉZIE

Diplomová práce Metody triangulace v paralelním prostředí

Kartografické stupnice. Přednáška z předmětu Tematická kartografie (KMA/TKA) Otakar Čerba Západočeská univerzita

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

3 Geometrie ve škole. krychle a její obrázek, koule a její stín, průměty trojrozměrného útvaru do roviny

Generování sítě konečných prvků

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí RASTR RASTROVÉ ANALÝZY

( ) ( ) 6. Algebraické nerovnice s jednou neznámou ( ) ( ) ( ) ( 2. e) = ( )

Matematická morfologie

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

6. Základy výpočetní geometrie

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Gymnázium Jiřího Ortena, Kutná Hora

Úvod do mobilní robotiky AIL028

Cyklografie. Cyklický průmět bodu

Semestrální práce z předmětu KMA/MM. Voroneho diagramy

4. Statika základní pojmy a základy rovnováhy sil

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK

Jana Dannhoferová Ústav informatiky, PEF MZLU

Digitální učební materiál

Laserové skenování (1)

Přednáška 3. 1GIS2 Digitální modely terénu, odvozené charakteristiky DMT, základní analýzy využívající DMT FŽP UJEP

Mezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty


Digitální kartografie 7

Definice globální minimum (absolutní minimum) v bodě A D f, jestliže X D f

Patří mezi tzv. homotetie, tj. afinní zobrazení, která mají všechny směry samodružné.

Algoritmy pro shlukování prostorových dat

Eukleidovský prostor a KSS Eukleidovský prostor je bodový prostor, ve kterém je definována vzdálenost dvou bodů (metrika)

Matematika B101MA1, B101MA2

KMA/GPM Barycentrické souřadnice a

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - "uvažovat" jako počítač

PLANIMETRIE úvodní pojmy

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

VE 2D A 3D. Radek Výrut. Abstrakt Tento článek obsahuje postupy pro výpočet Minkowského sumy dvou množin v rovině a pro výpočet Minkowského sumy

4. Matematická kartografie

Tělesa Geometrické těleso je prostorový omezený geometrický útvar. Jeho hranicí neboli povrchem je uzavřená plocha. Geometrická tělesa dělíme na

4. Napjatost v bodě tělesa

Euklidovský prostor Stručnější verze

Kombinatorická minimalizace

Transkript:

Rovinné triangulace a jejich využití. Greedy Triangulation. Delaunay Triangulation. Constrained Delaunay Triangulation. Data Dependent Triangulation. DMT. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie. Přírodovědecká fakulta UK. 1 / 109

Obsah přednášky 1 Ukázka použití 2 Formulace problému 3 Vlastnosti triangulací 4 Greedy triangulace 5 Delaunay triangulace Metoda inkrementální konstrukce Metoda inkrementálního vkádání 6 Triangulace se vstupní podmínkou 7 Datově závislé triangulace Lokální optimalizace triangulace 8 Digitální model terénu Polyedrický model terénu Lineární nterpolace vrstevnic Analýza sklonu Analýza orientace 2 / 109

Ukázka použití 1. Tvorba digitálního modelu terénu 3 / 109

Formulace problému 2. Formulace problému Dáno: Množina bodů P = {p 1, p 2,..., p n} v R 2. Hledáme: Triangulaci T nad množinou P. Definice: Triangulace T nad množinou bodů P představuje takové planární rozdělení, které vytvoří soubor m trojúhelníků t = {t 1, t 2,..., t m} a hran tak, aby platilo: Libovolné dva trojúhelníky t i, t j T, (i j), mají společnou nejvýše hranu. Sjednocení všech trojúhelníků t T tvoří H(p). Uvnitř žádného trojúhelníku neleží žádný další bod z P. Vztah mezi počtem bodů n, počtem hrann h a počtem trojúhelníků n t v rovině pro triangulaci T, pokud k bodů leží na H: Vztah lze zjednodušit, je pouze funkcí n: n h = 3n 3 k, n t = 2n 2 k. n h 3n 6 n t 2n 5 4 / 109

Formulace problému 3. Použití triangulací Nejčastější aplikace triangulací: Kartografie & GIS: tvorba digitálních modelů terénu (DMT). Zpracování obrazu: segmentace, rozpoznávání vzorů. DPZ: tvorba prostorových modelů z dat laserového skenování. Počítačová grafika: vizualizace prostorových dat ve scénách. FEM (tzv. metoda konečných prvků): analýza vlastností a struktury materiálů, simulace. Kartografická generalizace. Plánování pohybu robotů: vozítka na Marsu. Modelování přírodních jevů: eroze. Interpolační techniky: převod bodových jevů na plošné Biometrie: detekce otisků prstů. 5 / 109

Formulace problému 4. Rekonstrukce terénu z dat leteckého laserového skenování 6 / 109

Formulace problému 5. Aplikace triangulací v biometrii Detekce otisků prstů (Bebis et al., 2000) 7 / 109

Vlastnosti triangulací 6. Požadavky na triangulaci T Požadavky na triangulační algoritmus: Jednoduchost algoritmu, snadná implementace. Dostatečná rychlost pro velká P (n > 1E6) bodů, požadavek na O(n log(n)) algoritmus. Malá citlivost na singulární případy, kdy T není jednoznačná (popř. ji nelze provést). Převod do vyšších dimenzí. Schopnost paralelizace algoritmu. Optimální tvar trojúhelníkové sítě. Některé body v kontrastu: jednoduchost implementace x rychlost. Triangulační algoritmy patří mezi jedny z nejvíce teoreticky rozpracovaných postupů. 8 / 109

Vlastnosti triangulací 7. Volba triangulace a jejich dělení Při výběru triangulace T nutno zohlednit: Tvar trojúhelníků: Triangulace by měla produkovat pravidelné trojúhelníky vhodných tvarů (blížící se rovnostranným). Kritérium je důležité při tvorbě DMT, trojúhelníková sít se musí co nejvíce přimykat k terénu. Povinné hrany: Schopnost vkládat povinné hrany a modifikovat tvar triangulace. Ovlivnění tvaru terénu, vkládání kosterních čar, tj. hřbetnic, údolnic, spádnic. Triangulace nekonvexní oblasti: Schopnost triangulace nekonvexní oblasti či oblasti obsahující díry. V mapách nejsou triangularizovány některé oblasti, např. vodní plochy, budovy. 9 / 109

Vlastnosti triangulací 8. Ukázka triangulace nekonvexní oblasti obsahující díry 10 / 109

Vlastnosti triangulací 8. Dělení triangulací Dělení triangulací dle geometrické konstrukce: Greedy triangulace. Delaunay triangulace. MWT (Minimum Weight Triangulation). Constrained triangulace (triangulace s povinnými hranami). Datově závislé triangulace. Dělení triangulací dle použitých kritérií: Lokálně optimální triangulace. Globálně optimální triangulace. Multikriteriálně optimalizované triangulace. Vlastnosti triangulace T se posuzují ve vztahu k těmto kritériím. 11 / 109

Vlastnosti triangulací 9. Lokálně vs. globálně optimální triangulace Lokálně optimální triangulace T : Každý čtyřúhelník tvořený dvojicí trojúhelníků se společnou stranou triangularizován optimálně vzhledem k zadanému kritériu. Pro množinu P existuje více lokálně optimálních triangulací, každá z nich optimalizuje jiné kritérium. Globálně optimální triangulace T Všechny trojúhelníky triangulace T optimální vzhledem k zadanému kritériu. Neexistuje jiná triangulace T, která by dosáhla alespoň u jednoho trojúhelníku lepší hodnoty posuzovaného kritéria. Globálně optimální triangulace je současně lokálně optimální. Multikriteriálně optimalizované triangulace T : Kombinace několika lokálních či globálních kritérií. Vycházejí z Delaunay triangulace, která je optimalizována k těmto kritériím. Dlouhé výpočetní časy, doposud nejsou známy efektivní algoritmy, použití genetických algoritmů. 12 / 109

Vlastnosti triangulací 10. Hodnocení triangulace Necht P je množina bodů tvořena prvky p 1, p 2, p 3, p 4. Necht p i H (konvexní čtyřúhelník). Pak dle Eulerovy věty pro n = 4, k = 4 platí:n h = 5, n t = 2. Důsledek: nad P existují pouze dva trojúhelníky {t 1, t 2 } a dvě různé triangulace T (P) a T (P): T (P), kde t 1 = p 1, p 2, p 3 a t 2 = p 1, p 3, p 4. T (P), kde t 1 = p 1, p 2, p 4 a t 2 = p 2, p 3, p 4. Vhledem k posuzovanému kritériu je jedna z triangulací optimální, tj. minimalizuje ho. Tato pravidla lze zobecnit pro n > 4, triangulace se tak ke každé dvojici trojúhelníků. 13 / 109

Vlastnosti triangulací 11. Ilustrace T (P) a T (P) 14 / 109

Vlastnosti triangulací 12. Lokální kritéria Mají geometrický podtext, snaha o generování trojúhelníků rozumných tvarů. Přehled nejčastěji používaných lokálních kritérií: Minimální/maximální úhel v trojúhelníku α. Minimální/maximální výška v trojúhelníku v. Minimální/maximální poloměr vesané kružnice r. Minimální/maximální poloměr opsané kružnice R. Minimální/maximální plocha trojúhelníku S. Úhel mezi normálami sousedních trojúhelníků. Nejčastěji používáno první kritérium (Delaunay triangulace maximalizuje minimální úhel). Kritérium úhlu mezi normálami používáno u datově závislých triangulací. Od každého kritéria dispozici min-max varianta či max-min varianta. 15 / 109

Vlastnosti triangulací 13. Kritérium minimálního/maximálního úhlu v trojúhelníku Triangulace nemá generovat trojúhelníky s příliš ostrými/tupými úhly, které jsou tvarově nevhodné. Necht α min představuje nejmenší úhel a α max největší úhel v trojúhelníku t i. Min-max kritérium: Eliminace trojúhelníků s příliš tupými úhly. Triangulace T (P) je vzhledem k tomuto kritériu na rozdíl od T (P) optimální, je li největší α úhel generovaný triangulací T (P) menší než největší úhel α generovaný triangulací T (P). α max = max(α i(t )) α max = max(α i (T )) (1) α max < α max Max-min kritérium: Eliminace trojúhelníků s příliš ostrými úhly. Triangulace T (P) je vzhledem k tomuto kritériu na rozdíl od T (P) optimální, je li nejmenší α úhel generovaný triangulací T (P) větší než nejmenší úhel α generovaný triangulací T (P). α min = min(α i(t )) α min = min(α i (T )) (2) Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Rovinné geoinformatiky αtriangulace min > a kartografie. α jejich min využití. Přírodovědecká fakulta UK.) 16 / 109

Vlastnosti triangulací 14. Globální kritéria Optimalizují geometrické parametry všech trojúhelníků v triangulaci T (P). Nejčastěji používaná kritéria: Suma délek stran: Zohledňuje celkovou délku stran s vytvořené triangulace minimalizace. N h i=1 s i = min. (3) T (P) minimalizující sumu délek stran: MWT (Minimum Weight Triangulation). Pro obecný případ polohy bodů v R 2 nevyřešeno, přibližné řešení genet. algoritmy. MWT se blíží GT. Povinné hrany: Předem definované hrany uvnitř triangulace, tzv. Constrained Triangulation. Taková T (P) není lokálně optimální. Použití: při tvorbě DMT lze do triangulace zadat charakteristické terénní tvary a umožnit lepší modelování terénu. 17 / 109

Greedy triangulace 15. Greedy triangulace Patří do skupiny hladových algoritmů (Greedy Algorithms). Vlastnosti triangulace: Pokud se v P nevyskytují hrany se stejnou délkou, je triangulace jednoznačná. Snaží se však vytvářet trojúhelníky s nejkratšími stranami, trojúhelníky nemusí splňovat žádnou speciální geometrickou podmínku. Jednoduchá implementace. Složitost je O(n 3 ), lze optimalizovat na O(n 2 log(n)). Důsledek: Sít trojúhelníků není z tvarového hlediska optimalizována do triangulace tak mohou být přidány tvarově nevhodné trojúhelníky. V kartografii není příliš často používána. Výsledná triangulace se blíží MWT. 18 / 109

Greedy triangulace 16. Algoritmus Greedy triangulace Algoritmus 1: Greedy Triangulation (S, Q) 1: Opakuj pro p i, i 1, n : 2: Opakuj pro j i + 1, n : 3: Vytvoř hranu e = (p i, p j ). 4: Pro e urči d(p i, p j ) a ulož do Q. 5: Setřid Q dle d. 6: Odeber Q[0] a přidej do T. 7: Dokud Q není prázdná: 8: e =pop(q). 9: Opakuj pro e i T : 10: test, zda e protíná e i T. 11: Pokud e neprotíná žádné e i T : 12: Přidej e do T. 19 / 109

Greedy triangulace 17. Grafické znázornění Greedy triangulace 20 / 109

Delaunay triangulace 18. Delaunay triangulace DT a její vlastnosti Nejčastěji používaná triangulace, v oblasti GIS de-facto standart. Existuje v R 2 i v R 3. V1: Uvnitř kružnice k opsané libovolnému trojúhelníku t j DT neleží žádný jiný bod množiny P. V2: DT maximalizuje minimální úhel v t, avšak DT neminimalizuje maximální úhel v t. V3: DT je lokálně optimální i globálně optimální vůči kritériu mnimálního úhlu. V4: DT je jednoznačná, pokud žádné čtyři body neleží na kružnici. Výsledné trojúhelníky se při porovnání ze všemi známými triangulacemi nejvíce blíží rovnostranným trojúhelníkům. 21 / 109

Delaunay triangulace 19. Ukázka DT 22 / 109

20. Srovnání GT a DT Delaunay triangulace 23 / 109

Delaunay triangulace 21. Geometrické vlastnosti DT Necht k je kružnice l přímka protínající k v bodech a, b, a p, q, r, s jsou body ležící na stejné straně od l. Platí: Důsledek Tháletovy věty. arb > apb = aqb > asb. 24 / 109

Delaunay triangulace 22. Edge Flip, legalizace Necht P = {p i, p j, p k, p l } je množina bodů tvořící vrcholy konvexního čtyřúhelníku, tj P H(P) a hrana p i, p j představuje úhlopříčku P. Edge Flip (Swap) Prohození diagonály p i, p j čtyřúhelníku {p i, p j, p k, p l } za diagonálu p k, p l. Přechod z DT (P) na DT (P), výsledkem stav, kdy jsou oba trojúhelníky legální, tj. lokálně optimální vzhledem ke kritérium max-min. Operace je opakovaně prováděna nad všemi konvexními čtyřúhelníky DT a je nazývána legalizací. 25 / 109

Delaunay triangulace 23. Legalizace, shrnutí poznatků Vztahy mezi úhly v trojúhelnících před/po legalizaci α jl < β jl α kj < β kj α ik < β ik α li < β li α li, α ik < β kl α kj, α jl < β kl Věta 1: Necht hrana p i p j inciduje s trojúhelníkem t 1 tvořeným vrcholy p i, p j, p k a trojúhelníkem t 2 tvořeným vrcholem p i p j, p l a kružnice k procházející body p i, p j, p k. Hrana p i, p j je nelegální tehdy a právě jen tehdy, jestliže bod p l leží uvnitř k. Věta 2: Pokud body p i, p j, p k, p l tvoří konvexní čtyřúhelník a neleží na opsané kružnici k, pak jedna z hran p i p j nebo p k p l je nelegální. 26 / 109

Delaunay triangulace 24. Cline-Renka test legality Numericky robustní test ověřující legalitu dvojice trojúhelníků p i, p j, p k a p ip j, p l ležících v konvexním čtyřúhelníku p i, p j, p k, p l. Necht α je protilehlý úhel straně p i, p k ležící u vrcholu p j a β protilehlý úhel straně p i, p k ležící u vrcholu : < π DT(P) je legální. α + β = π Body p i, p j, p k, p l leží na kružnici. > π DT (P) je nelegální. K Edge Flip dojde pokud Upravené testovací kritérium: sin(α + β) = cos(α) sin(β) + cos(β) sin(α) < 0. kde (x ik x jk + y ik y jk)(x jly il x ily jl) < (x jk y ik x ik y jk)(x jlx il + y jly il), x ik = x i x k y ik = y i y k, x jk = x j x k y jk = y j y k, x jl = x j x l y jl = y j y l, x il = x i x l y il = y i y l. 27 / 109

Delaunay triangulace 25. Active Edge List (AEL) Datová struktura používaná při konstrukci DT, uchovává topologii trojúhelníků v DT. Necht dva incidující trojúhelníky t i, t j DT mají společnou stranu označenou v t i jako e ij a v t j jako e ji. Strany trojúhelníků: Každá strana e ij (Active Edge) v trojúhelníku t i orientovaná proti směru hodinových ručiček uchovává: pointer na následující hranu e i+1,j v t i. pointer na stranu e ji v incidujícím trojúhelníku t j (hrany ležící na H mají pointer inicializovaný na NULL). S výjimkou stran ležících na H je každá hrana e DT popsána dvakrát (jako e ij a e ji), vždy s opačnou orientací. Tyto zdvojené hrany nazývány Twin Edges. Trojúhelníky: Díky datovému modelu každý trojúhelník t i popsán trojicí hran (e ij, e i+1,j, e i+2,j) orientovaných proti směru hodinových ručiček tvořících kruhový seznam (Circular List). Seznam všech těchto hran (nikoliv trojúhelníků!) tvoří Active Edge List. Pro každou hranu lze snadno nalézt předcházející/následující hranu a incidující trojúhelníky. 28 / 109

Delaunay triangulace 26. Ukázka datového modelu AEL 29 / 109

Delaunay triangulace 27. Metody konstrukce DT Metody přímé konstrukce DT : Lokální prohazování. Inkrementální konstrukce. Inkrementální vkládání. Rozděl a panuj. Sweep Line. Nepřímá konstrukce: přes Voronoi diagram, v praxi není používána. Metoda lokálního prohazování: Metoda je použitelná pouze ve 2D, obtížně lze převést do vyšší dimenze. Převod libovolné triangulace T na DT. Prohazování nelegálních hran v dvojicích trojúhelníků tvořících konvexní čtyřúhelník. Složitost algoritmu je O(N), nutno připočítat složitost na triangulačního algoritmu. Lze použít vzhledem k libovolnému kritériu, např. DDT. 30 / 109

Delaunay triangulace 28. Algoritmus lokálního prohazování Algoritmus 2: Delaunay Triangulation Local(P) 1: Vytvoř pomocnou triangulaci T (P). 2: legal=false 3: while T (P)!legal 4: legal=true; 5: Opakuj pro e i T (P) 6: Vezmi hranu e i T (P) 7: Nalezni trojúhelníky t 1, t 2 incidující s e i. 8: if (t 1 t 2 ) konvexní a nelegální 9: Legalize (t 1, t 2 ). 10: legal=false; 31 / 109

Delaunay triangulace Metoda inkrementální konstrukce 29. Metoda inkrementální konstrukce Algoritmus lze použít ve 2D i 3D. 2D varianta pracuje s prázdnou kružnicí, 3D varianta s prázdnou koulí o poloměru r. Založena na postupném přidávání bodů do již vytvořené DT. Nad existující Delaunayovskou hranou e = p 1, p 2 hledán takový bod p, pro který má od p 1, p 2 minimální Delaunay vzdálenost d D (p 1 p 2, p). Každá Delaunayovská hrana je orientována, bod p hledáme pouze vlevo od ní. Používá se test orientace vrcholů trojúhelníku proti směru hodinových ručiček (determinant test, viz 2. přednáška). Do DT přidány hrany trojúhelníku (p 1, p 2, p). Není-li bod p nalezen (e H(P)), změníme orientaci hrany e a hledání opakujeme. Složitost je O(n 2 ), metodu lze vylepšit, ale algoritmus je pak nestabilní. Při konstrukci používána modifikovaná datová struktura AEL (Active Edge List). Obsahuje hrany e, ke kterým hledáme body p, neukládá se topologický model. 32 / 109

Delaunay triangulace Metoda inkrementální konstrukce 30. Delaunay vzdálenost Necht k(s, r) je kružnice a l přímka protínající k v bodech a, b, a p bod ležící na k. Delaunay vzdálenost bodu p od hrany a, b označujeme jako d D (h, p), kde { r Body S, p v opačné polorovině vzhledem k l. d D (h, p) = r Body S, p ve stejné polorovině vzhledem k l. 33 / 109

Delaunay triangulace Metoda inkrementální konstrukce 31. Konstrukce s využitm delaunay vzdálenosti 34 / 109

Delaunay triangulace Metoda inkrementální konstrukce 32. Ilustrace inkrementální konstrukce (1/3) 35 / 109

Delaunay triangulace Metoda inkrementální konstrukce 33. Ilustrace inkrementální konstrukce (2/3) 36 / 109

Delaunay triangulace Metoda inkrementální konstrukce 34. Ilustrace inkrementální konstrukce (3/3) 37 / 109

Delaunay triangulace Metoda inkrementální konstrukce 35. Algoritmus inkrementální konstrukce DT (1/2) Algoritmus 2: Delaunay Triangulation Incremental (S, AEL, DT ) 1: p 1 = náhodný bod z P, p 2 =nejbližší bod k p 1. 2: Vytvoř hranu e = p 1 p 2 3: p = d D (e), bod s nejmenší Delaunay vzdáleností vlevo od e. 4: Pokud p = NULL, prohod orientaci e = p 1 p 2 e = p 2 p 1. 5: e 2 = p 2 p, e 3 = pp 1. 6: Add e, e 2, e 3 do AEL. 7: while AEL not empty do: 9: e = p 1 p 2 první hrana AEL. 10: Změna orientace hrany e = p 1 p 2 e = p 2 p 1. 11: Bod p s nejmenší Delaunay vzdáleností d D (e) vlevo od e. 12: if p! = NULL : 13: e 2 = p 2 p, e 3 = pp 1. 14: Add e, e 2, e 3 do AEL. 15: Add e do DT. 16: pop (e) 38 / 109

Delaunay triangulace Metoda inkrementální konstrukce 36. Algoritmus inkrementální konstrukce DT (2/2) Algoritmus přidání hrany e do AEL kontroluje, zda není v AEL přítomna hrana s opačnou orientací e. Pokud ano, je e odstraněna z AEL. Pokud ne, je e přidána do AEL. Hrana e je v obou případech přidána do DT. Triangulace ukládána po trojúhelnících. Algoritmus 3: Add (e = a, b, AEL,DT ) 1: Vytvoř hranu e = ba 2: if (e AEL) 3: remove a, b AEL. 4: else: 5: push a, b AEL. 6: push a, b DT. V praxi není používán z důvodu kvadratické složitosti, výhodou je však poměrně jednoduchá implementace. 39 / 109

Delaunay triangulace Metoda inkrementálního vkádání 37. Metoda inkrementálního vkládání Často používaná metoda konstrukce DT. Lze použít v R 2 i R 3. Složitost je O(n 2 ), po úpravách lze dosáhnout O(n log(n)). Klasický případ rekurzivní úlohy (fáze legalizace). Princip algoritmu: V každém kroku do DT přidán jeden bod a provedena legalizace DT. Necht S představuje podmnožinu datasetu P obsahující m bodů a p přidávaný bod Algoritmus tvořen 4 fázemi: DT m+1 = DT m p. Konstrukce simplexu Ω oblasti P (obalový trojúhelník). Přidání p do DT m. Legalizace triangulace DT m+1. Odstranění simplexových hran. 40 / 109

Delaunay triangulace Metoda inkrementálního vkádání 38. Fáze1: Konstrukce simplexu Ω Žádný z bodů P neleží vně simplexu Ω s vrcholy p 1, p 2, p 3. DT bude probíhat nad sjednocením obou množin, tj. DT (P Ω). Zaručíme tak, že přidání každého bodu p i do DT m proběhne v souladu s souladu s níže uvedenými pravidly. Vrcholy simpexu p 1, p 2, p 3 dostatečně daleko od P, aby neovlivňovaly trojúhelníky nad body P. Souřadnice vrcholů simplexu Ω vcházejí z MBR zkonstruovaného nad P. M = max(x max x min, y max y min ) Pak p 1 = [ 3M, 0], p 2 = [0, 3M], p 31 = [ 3M, 3M]. Při legalizaci nutné upravit simplexové trojúhelníky (tj. takové, jejichž alespoň jeden vrchol p i Ω. 41 / 109

Delaunay triangulace Metoda inkrementálního vkádání 39. Ilustrace simplexu Ω 42 / 109

Delaunay triangulace Metoda inkrementálního vkádání 40. Fáze 2: Přidání p do DT Nalezení trojúhelníku/trojúhelníků, se kterými p inciduje. Kritická pasáž algoritmu, výpočetně nejnáročnější krok. Vyhledání musí být rychlé, nelze prohledávat všechny trojúhelníky, množství procházených trojúhelníků nutno minimalizovat. Vyhledání incidujícího trohúhelníku: Dvě nejčastěji používané metody vyhledávání incidujícího trojúhelníku: Metoda procházky (heuristika,o(n 2 )). DAG Tree (konstrukce ternárního stromu, efektivnější, O(n log(n))). Metoda procházky (Lawson Oriented Walk): Procházením okolních trojúhelníků se postupně blížíme k hledanému trojúhelníku t i. Testujeme polohu přidávaného bodu p vzhledem k hraně e ij v AEL. Testování lze začít na libovolné hraně e v AEL nebo pro předvýběr vhodnější e použít heuristiku. Pokud { vlevo od e i,j v t i, testujeme e i+1,j v t i p vpravo od e i,j v t i, testujeme e j,i v t j Bod p leží vůči všem stranám hledaného trojúhelníku t i vlevo. 43 / 109

Delaunay triangulace Metoda inkrementálního vkádání 41. Ukázka Lawson Oriented Walk (1/6) 44 / 109

Delaunay triangulace Metoda inkrementálního vkádání 42. Ukázka Lawson Oriented Walk (2/6) 45 / 109

Delaunay triangulace Metoda inkrementálního vkádání 43. Ukázka Lawson Oriented Walk (3/6) 46 / 109

Delaunay triangulace Metoda inkrementálního vkádání 44. Ukázka Lawson Oriented Walk (4/6) 47 / 109

Delaunay triangulace Metoda inkrementálního vkádání 45. Ukázka Lawson Oriented Walk (5/6) 48 / 109

Delaunay triangulace Metoda inkrementálního vkádání 46. Ukázka Lawson Oriented Walk (6/6) 49 / 109

Delaunay triangulace Metoda inkrementálního vkádání 47. Vztah bodu p a nalezeného t i Existují tři různé varianty vzájemné polohy přidávaného bodu p a nalezeného trojúhelníku t i : Bod p leží ve vrcholu t i Bod neovlivní již vytvořenou triangulaci DT m, bude zanedbán. Triangulace ponechána beze změny, DT m+1 = DT m. Bod p t i Zkonstruovány tři nové hrany spojující p s vrcholy t i. Trojúhelník t se rozpadne na tři nové trojúhelníky se společným vrcholem. Bod p leží ve straně t i, t j Oba incidující trojúhelníky t i, t j, v jejichž společné hraně přidávaný bod leží, rozděleny dvojicí úseček jdoucích z p do protilehlých vrcholů t i, t j. Vzniknou čtyři nové trojúhelníky se společným vrcholem. 50 / 109

Delaunay triangulace Metoda inkrementálního vkádání 48. Bod p t i Vytvoření nových hran: e 12, e 13, e 21, e 23, e 31, e 32. Vytvoření topologie: provázení všech hran s použitím pointerů. 51 / 109

Delaunay triangulace Metoda inkrementálního vkádání 49. Bod p leží ve straně t i, t j Změna koncových bodů hran: e 12, e 21, e 23. Zrušení hrany e 13. Vytvoření nových hran: e 14, e 32, e 33, e 34, e 41, e 43, e 44. Vytvoření topologie: provázení všech hran s použitím pointerů. 52 / 109

Delaunay triangulace Metoda inkrementálního vkádání 50. Fáze 3: Legalizace nově vytvořené triangulace Takto vzniklá triangulace nemusí být delaunayovská, triangulaci je proto nutno legalizovat. p t i Pokud přidávaný bod p t i, legalizujeme nově vzniklé trojúhelníky t 1, t 2, t 3 s incidujícími trojúhelníky DT (celkem 3 legalizace). Bod p leží ve straně t i, t j Pokud přidávaný bod p leží ve straně t i, legalizujeme nově vzniklé trojúhelníky t 1, t 2, t 3, t 4 s incidujícími trojúhelníky DT (celkem 4 legalizace). Tím proces legalizace nekončí, přehození úhlopříčky v některém z výše uvedených případů vyvolá potřebu legalizace k jejich incidujícím trojúhelníkům. Pokud alespoň jeden z vrcholů trojúhelníka představuje bod Ω, nutno upravit legalizační pravidla. Tento krok je vyvolává potřebu rekurzivního řešení problému. V nepříznivém případě může vložený bod p způsobit přegenerování značného množství t v DT. 53 / 109

Delaunay triangulace Metoda inkrementálního vkádání 51. Ilustrace procesu legalizace, p t i 54 / 109

Delaunay triangulace Metoda inkrementálního vkádání 52. Ilustrace procesu legalizace, p leží ve straně t i, t j 55 / 109

Delaunay triangulace Metoda inkrementálního vkádání 53. Pravidla legalizace pro vrcholy Ω (1/2) Jsou reakcí na situaci, že do DT je zahrnut i simplexový trojúhelník Ω. Aby nedošlo k nevhodnému ovlivnění oblasti P oblastí Ω, mohou být do DT (P Ω) přidány i nelegální hrany. Hrany nelegální v DT (P Ω) však budou legální DT (P). Jedná se o hrany ležící na H(P). Necht p i, p j, p k a p i, p j, p l představují dva incidující troúhelníky a p i, p j představuje testovanou hranu. Nutno uvažovat následující případy: indexy i, j jsou záporné: Hrana p i, p j je legální. všechny indexy i, j, k, l > 0: Normální případ, prováděno běžné testování. 56 / 109

Delaunay triangulace Metoda inkrementálního vkádání 54. Pravidla legalizace pro vrcholy Ω (1/2) jeden z indexů i, j, k, l záporný: Pokud jeden z bodů p i, p j Ω, pak je strana p i, p j je nahrazena p k, p l, v opačném případě je ponechána Výsledná hrana nemusí být legální vzhledem k DT (P Ω), leží na H(P), leží na H(P). dva z indexů i, j, k, l jsou záporné Jeden z indexů i, j a jeden z indexů k, l záporný. Pokud je negativní index i, j menší (v abs. hodnotě) než negativní index k, l, je p i, p j v pořádku; V opačném případě je p i, p j nahrazena p k, p l. Výsledná hrana nemusí být legální vzhledem k DT (P Ω), leží na H(P). tři z indexů i, j, k, l jsou záporné Situace nemůže nastat. 57 / 109

Delaunay triangulace Metoda inkrementálního vkádání 55. Ilustrace legalizačních pravidel pro vrcholy Ω Vlevo indexy i, j záporné. Uprostřed 2 z indexů i, j, k, l záporné, swap nelegální vzhledem DT (P Ω). Vpravo dva z indexů i, j, k, l záporné, swap není třeba provádět (bod Ω k nebrán v potaz). 58 / 109

Delaunay triangulace Metoda inkrementálního vkádání 56. Fáze 4: Odstranění simplexových hran Odtranění všech stran DT (P Ω) které incidují z Ω, výsledkem DT (P). Výsledkem oříznutí na konvexní obálku. 59 / 109

Delaunay triangulace Metoda inkrementálního vkádání 57. Implementace algoritmu inkrementálního vkládání (1/2) Algoritmus 3: DT Incremental Inserton (a, b, AEL,DT ) 1: Vytvoření obalového trojuhelniku p 1,p 2, p 3 nad P. 2: Opakuj pro i 1,..., n : 3: Přidej p do DT. 4: Najdi t s vrcholy p i, p j, p k takový, že p t. 5: Jestliže p uvnitř t: 6: Přidání hrany p i, p. 7: Přidání hrany p j, p. 8: Přidání hrany p k, p. 9: Legalizace hrany p, p i, p j, t. 10: Legalizace hrany p, p j, p k, t. 11: Legalizace hrany p, p k, p l, t. 60 / 109

Delaunay triangulace Metoda inkrementálního vkádání 58. Implementace algoritmu inkrementálního vkládání (2/2) Algoritmus 3: DT Incremental Inserton (a, b, AEL,DT ) 12: Jinak jestliže p leží na hraně p i, p j trojúhelníků t 1, t 2 : 13: Přidání hrany p i, p. 14: Přidání hrany p j, p. 15: Přidání hrany p k, p. 16: Přidání hrany p l, p. 17: Legalizace hrany p, p j, p k, t. 18: Legalizace hrany p, p k, p i, t. 19: Legalizace hrany p, p i, p l, t. 20: Legalizace hrany p, p l, p j, t. 21: Odstranění simplexových hran z DT. 61 / 109

Delaunay triangulace Metoda inkrementálního vkádání 59. Algoritmus legalizace hrany Přidávaný bod označen jako p. Strana p i, p j představuje stranu v trojúhelníku t, která má být prohozena. Incidující trojúhelník t tvořen hranami p i, p j, p l. Rekurzivní procedura, legalizace volána současně na dvě nové strany. Algoritmus 4: DT Legalizace hrany (p, p i, p j,t) 1: if (p l, p j ) nelegální 2: najdi trojúhelník t incidující s hranou p i, p j trojúhelníku t. 3: Prohod p i, p j za p, p k. 4: Legalizace hrany p, p i, p k. 5: Legalizace hrany p, p k, p j. 62 / 109

Triangulace se vstupní podmínkou 60. Triangulace se vstupní podmínkou Označovány jako Constrained Triangulations (tj. triangulace s omezením). Do triangulace zavedeny povinné hrany spojující definované body p. Poloha povinných hran se při triangulaci již nesmí měnit. Povinné hrany při konstrukci triangulace kříží jiné možné hrany, které jsou vzhledem k nějakému kritériu lokálně optimální (a pro triangulaci vhodnější), avšak tyto hrany nejsou použity. Triangulace se vstupní podmínkou proto nejsou lokálně optimální. Geometrický předpoklad: povinné hrany se nesmějí protínat. Široké použití v kartografii tvorbě digitálních modelů terénu, povinné hrany umožňují lepší modelování morfologie terénu. Zástupci: Greedy triangulace se vstupní podmínkou (Constrained Greedy Triangulation). Delaunay triangulace se vstupní podmínkou (Constrained Delaunay Triangulation). 63 / 109

Triangulace se vstupní podmínkou 61. Greedy triangulace se vstupní podmínkou Greedy triangulace se vstupní podmínkou CGT (P) není příliš často používána. Tvorba CGT (P) probíhá ve dvou krocích: Přidání povinných hran Do prázdné triangulace přidány povinné hrany. Žádná z povinných hran nemůže být při triangulaci nahrazena možnou kratší stranou. Tvorba GT (P) Konstrukce Greedy triangulace nad P. 64 / 109

Triangulace se vstupní podmínkou 62. Delaunay triangulace se vstupní podmínkou Nejpoužívanější triangulace v geoinformatice. Na rozdíl od CGT (P) nutná redefinice triangulace: přes povinné hrany neprobíhá swapování. Triangulace jako celek nemaximalizuje minimální úhel v trojúhelnících. Zavedení povinných hran sníží rychlost triangulačního algoritmu. Možné geometrické problémy: povinná hrana kolineární s nějakou hranou DT (P) rozdělení povinné hrany na 3 části, povinná hrana protíná bod DT (P) rozdělení povinné hrany na 2 části. Konstrukce probíhá ve třech krocích: Vytvoření DT (P). Zadání povinných hran do DT (P). Převod DT (P) na CDT (P). Pro bod 3 existuje řada algoritmů, např. Sloan (1992). 65 / 109

Triangulace se vstupní podmínkou 63. Převod DT (P) na CDT (P) Algoritmus převodu DT (P) na CDT (P) je rekurzivní. Necht každá povinná hrana je definována dvojicí vrcholů v i, v j. Seznam protnutých hran označen S. Seznam nově vytvořených hran H. Postup je tvořen následujícími kroky: Nalezení stran DT (P) protínajících povinnou hranu v i v j. Zrušení všech stran v DT (P) protínajících povinnou hranu v i v j Vytvoření pomocné triangulace. Obnovení DT (P). Odstranění nadbytečných trojúhelníků. Nalezení stran DT (P) protínajících povinnou hranu v i v j : Testujeme, zda hrana v i v j není již v DT (P). Pokud nikoliv, nalezneme v DT (P) všechny strany, které protínají v i v j, odtraníme je z DT (P) a přidáme je do S. 66 / 109

Triangulace se vstupní podmínkou 64. Nalezení stran DT (P) protínajících povinnou hranu v i v j 67 / 109

Triangulace se vstupní podmínkou 65. Odstranění stran protínajících povinnou hranu v i v j z DT (P) Výsledkem převod DT (P) na pomocnou triangulaci, jejíž hrany neprotínají v iv j. Necht hrana protínající v iv j je označena v k v l: Necht v mv n je úhlopříčka v konvexním čtyřúhelníku tvořeném dvěma se společnou stranou v k v l. Algoritmus 5: CDT, remove intersecting edges (S,H) 1: Opakuj, dokud S není prázdný 2: Odeber ze seznamu hranu v k v l. 3: Pokud incidující se společnou hranou v k v l netvoří konvexní 4-úhelník 4: Přidej v k v l do S a jdi na 2). 5: Pokud tvoří konvexní 4-úhelník: 6: Prohodíme diagonálu v k v l v tomto 4 úhelníku za v mv n. 7: Pokud v mv n neprotíná v iv j : 8: Přidej v mv n do H. 9: Pokud v mv n protíná v iv j : 10: Přidej v mv n do S. 68 / 109

Triangulace se vstupní podmínkou 66. Ilustrace odstranění stran protínajících povinnou hranu v i v j (1/3) 69 / 109

Triangulace se vstupní podmínkou 67. Ilustrace odstranění stran protínajících povinnou hranu v i v j (2/3) 70 / 109

Triangulace se vstupní podmínkou 68. Ilustrace odstranění stran protínajících povinnou hranu v i v j (3/3) 71 / 109

Triangulace se vstupní podmínkou 69. Obnovení DT (P) Triangulace vytvořená v předchozím kroku není Delaunayovská. Tuto triangulaci je proto nutné převést na Delaunayovskou. Nad nově vytvořenými hranami je provedena legalizace vzhledem k incidujícím trojúhelníkům. Algoritmus 6: CDT, Restore DT (S,H) 1: Opakuj, dokud existuje alespoň jeden swap 2: Načti ze seznamu H hranu v k v l. 3: Pokud v k v l v i v j 4: Pokud incidující se společnou hranou v k v l není legální 5: Prohození diagonály v k v l v tomto 4 úhelníku za v m v n. 6: Nahrazení v k v l hranou v m v n v H. 72 / 109

Triangulace se vstupní podmínkou 70. Ilustrace obnovení DT (P) 73 / 109

Triangulace se vstupní podmínkou 71. Triangulace nekonvexní oblasti a oblasti s otvory Triangulace nekonvexní oblasti: Triangulace množiny bodů ohraničené nekonvexním polygonem. Z triangulace odstraněny všechny trojúhelníky vně polygonu (tj. takové, jejichž těžiště je vně polygonu). U DMT, triangulace probíhá pouze uvnitř nekonvexní oblasti se vstupními daty, vně oblasti by si algoritmus DMT vymýšlel. Využití Ray Algoritmu. Triangulace oblastí s otvory: Oblast obsahuje podoblasti (otvory), uvnitř kterých nebude prováděna triangulace. Otvory popsány v opačném pořadí, než nadřazená oblast. Použití při tvorbě DMT, místa bez vrstevnic: vodní plochy, stavební objekty, místa s příliš velkým spádem... 74 / 109

Triangulace se vstupní podmínkou 72. Triangulace DT (P) 75 / 109

Triangulace se vstupní podmínkou 73. Selekce trojúhelníků uvnitř oblasti 76 / 109

Triangulace se vstupní podmínkou 74. Odstranění trojúhelníků vně oblasti 77 / 109

Datově závislé triangulace 75. Datově závislé triangulace U všech výše uvedených 2D triangulací tvar trojúhelníkové sítě ovlivňuje pouze poloha bodu, souřadnice z nehraje roli. Takové triangulace nejsou bez dodatečných informací o terénu (kosterní čáry) vhodné k jeho modelování. Data Dependent Triangulation (DDT) tyto nedostatky odstraňuje. Vznikají optimalizací vstupní triangulace (nejčastěji DT) s využitím heuristik či genetických algoritmů. Výhody: DDT berou v potaz výšku bodu, snaha o optimalizaci tvaru trojúhelníkové sítě. Trojúhelníkový model lépe zohledňuje skutečný tvar terénu. Automatická detekce terénních zlomů, netřeba zadávat povinné hrany. Nevýhody: Optimalizace heuristikou rychlá, zlepšení většinou nebývá významné. Optimalizace genetickými algoritmy kvalitní, avšak výpočetně náročné, vhodné pouze pro malé množiny (n < 50000). Dvě metody optimalizace: lokální optimalizace, modifikovaná lokální optimalizace. 78 / 109

Datově závislé triangulace 76. DT, nevhodné vystižení terénní hrany 79 / 109

Datově závislé triangulace 77. DDT, lepší vystižení terénní hrany 80 / 109

Datově závislé triangulace 78. Srovnání vrstevnic DT a DDT 81 / 109

Datově závislé triangulace Lokální optimalizace triangulace 79. Lokální optimalizace triangulace Optimalizace triangulace (lokální prohazování hran) vzhledem zadanému kritériu. Používána heuristika, snaha dosáhnout globálního minima oakovaným hledáním lokálního minima. V jednom kroku optimalizována malá část triangulace: Edge Based Optimization Prováděna vzhledem ke každé hraně sdílené dvojicí trojúhelníků. Častější varianta. Vertex Based Optimization Prováděna vzhledem ke každému vrcholu sdíleného trojúhelníky. Rychlé, avšak nepříliš významné zlepšení. Možné uvíznutí v lokálním minimum, nepřipouští dočasné zhoršení stavu. Vysoká rychlost konstrukce. 82 / 109

Datově závislé triangulace Lokální optimalizace triangulace 80. Edge Based vs Vertex Based Optimization 83 / 109

Datově závislé triangulace Lokální optimalizace triangulace 81. Edge Based Optimization Každé hraně e i trojúhelníka přiřadí ohodnocovací funkce c přiřadí ohodnocení c i c i = c(, e i ). Ohodnocovací funkce měří ostrost přechodu mezi trojúhelníky. Globální ohodnocení triangulace s m vnitřními hranami C = m c i p = i=1 m c(, e i ) p, p = 1, 2 i=1 Použity L1 a L2 normy. Optimální triangulace minimalizuje globální kritérium C, snaha o co nejvíce hladkou triangulaci. Globální kritérium nejsme schopni exaktně minimalizovat. Heuristika minimalizující v každém kroku lokální kritérium vztažené ke hraně a blízkému okolí s cílem minimalizovat globální kritérium. 84 / 109

Datově závislé triangulace Lokální optimalizace triangulace 82. Lokální swap kritérium Vztaženo k hraně e i sdílené dvěma trojúhelníky a k jejich incidujícím hranám (celkem 4). Výchozí triangulace DT (P): Necht hrana e i, inciduje s t 1, t 2, sousedící hrany v t 1 označme e 1 i, e2 i, sousedící hrany v t 2 označme e 3 i, e4 i. Swap: Triangulace DT (P) s trojúhelníky t 1 a t 2. Lokální swapovací kritérium: DT je optimální vzhledem k c právě když c(, e i ) p + 4 c(, e k i ) p > c(, e i ) p + k=1 4 c(, e k i ) p. k=1 85 / 109

Datově závislé triangulace Lokální optimalizace triangulace 83. Ukázka lokální optimalizace 86 / 109

Datově závislé triangulace Lokální optimalizace triangulace 84. Algoritmus lokální optimalizace Algoritmus provádí opakované swapování nad všemi hranami triangulace. Výsledná triangulace nebude globálně optimální k žádnému kritériu. Algoritmus 7: DDT, LOP (,e) 1: Opakuj, dokud existuje alespoň jeden swap 2: Vezmi hranu e i. 3: Spočti c i = c(, e i ) p + 4 k=1 c(, e k i ) p 4: Swap (e i e i ) 5: Spočti c i = c(, e i ) p + 4 k=1 c(, ei k ) p 6: if c i < c i 7: Swap (e i e i ). 87 / 109

Datově závislé triangulace Lokální optimalizace triangulace 85. Lokální kritéria pro DDT Přehled kritérií: Angle Between Normals (ABN) Distance From Planes (DFP) Smoothnes of Contours (SCO) 88 / 109

Datově závislé triangulace Lokální optimalizace triangulace 86. Přehled kritérií Rovina ϱ i ϱ i(x, y) = a ix + b iy + c iz Angle Between Normals: Úhel mezi normálami n (1), n (2) trojúhelníků t 1, t 2 c ABN(, e i) = ϕ = cos 1 n (1) n (2) Distance From Planes: Součet vzdálenost bodů p k, p l od rovin ϱ 1, ρ 2. n (1) n (2), kde n(i) = ( ρi x i, ρi y i, ρi z i ) = ( a i, b i, 1) c DFP(, e i) = (d(p k, ρ 1) p + d(p l, ρ 2) p ), kde p = 1, 2 Smoothness Of Contours: Úhly mezi průsečnicemi v (1), v (2) trojúhelníků t 1, t 2 a vodorovné roviny. c SCO(, e i) = ϕ = cos 1 v (1) v (2) v (1) v (21) = a 1a 2 + b 1b 2 cos 1. a 2 1 + b1 2 a 2 2 + b2 2 89 / 109

Digitální model terénu 87. Zemský povrch a jeho znázornění Zemský povrch má nepravidelný, komplikovaný průběh: Hladký: Konvexní či konkávní. Formován prostřednictvím přírodních jevů. Snadnější pro matematické modelování. Ostrý: Zlomy, zářezy, hrany, stupně. Formován činností člověka. Umělé terénní tvary tvoří singularity, obtížnější pro matematické modelování. Prostorové modely zemského povrchu: Digitální model reliéfu (Digital Terrain Model). Digitální model povrchu (Digital Surface Model). Digitální výškový model (Digital Elevation Model). 90 / 109

Digitální model terénu 88. Digitální model terénu Digitální model terénu/reliéfu: Digitální reprezentace reliéfu zemského povrchu v pam ti po íta e, sloºená z dat a interpola ního algoritmu, který umoº uje mj. odvozovat vý²ky mezilehlých bod. (Terminologický slovník ČÚZK) Digitální model povrchu: Zvlá²tní p ípad digitálního modelu reliéfu konstruovaného zpravidla s vyuºitím automatických prost edk (nap.obrazové korelace ve fotogrammetrii) tak, ºe zobrazuje povrch terénu a vrchní plochy v²ech objekt na n m (st echy, koruny strom a pod.). (Terminologický slovník ČÚZK) Digitální výškový model: Digitální model reliéfu pracující výhradn s nadmo skými vý²kami bod. (Terminologický slovník ČÚZK). Nad digitální modely lze provádět řadu analýz a výpočtů: analýza sklonu, osvětlení, expozice, barevná hypsometrie, konstrukci vrstevnic. 91 / 109

Digitální model terénu 89. Znázornění DMT: trojúhelníková sít 92 / 109

Digitální model terénu 90. Znázornění DMT: barevná hypsometrie (kvantitativní použití barev) 93 / 109

Digitální model terénu 91. Plátování Základem DMT aproximační plocha procházející všemi zadanými body množiny P = {p i} n i=1, kde p i = [x i, y i, z i]. Mimo tyto body dopočítávána podle specifických matematických postupů, aby se co nejvíce blížila původnímu terénu. Vede ke vzniku ploch vysokých stupňů, které samovolně oscilují. Vhodnější použít techniku plátování. Princip plátování: Rozdělení aproximační plochy na větší množství malých ploch nižších stupňů pláty. Pláty nejčastěji stupně tři kubické pláty (polynomy stupně 3 již věrně aproximují terén, jejich výpočet poměrně snadný). Hranice plátů jsou vedeny po singularitách. Digitální model tvořen velkým množstvím plošek (řádově stovky tisíc, milióny), mezi nimi ostré nebo hladké přechody tímto způsobem lze vyjádřit jakýkoliv terén. Poprvé použito v 70. letech při konstrukci letadel (Airbus=Bezierovy pláty, Boeing=Coonsovy pláty). 94 / 109

Digitální model terénu Polyedrický model terénu 92. Polyedrický model terénu Plošky jsou představovány trojúhelníky se společnou hranou. Sít trojúhelníků vytvořena za použití triangulačních algoritmů (Constrained Delaunay Triangulation). Proložením rovin vrcholy jednotlivých trojúhelníků v R 3 vznikne nepravidelný mnohostěn, tzv. polyedr, který se přimyká k terénu. V trojúhelnících pouze lineární interpolace, což pro řadu účelů nepostačuje. Do polyedrického modelu lze zadat povinné hrany (hřbetnice, údolnice, spádnice), které zlepšují jeho aproximační vlastnosti. Vzhledem k nepravidelnému rozložení bodů je nutné při interpolaci/extrapolaci dat či různých analytických operacích z polyedrického modelu používat speciální techniky (např. IDW nebo Krigging). 95 / 109

Digitální model terénu Polyedrický model terénu 93. Konstrukce polyedrického modelu Vrcholy p 1 = [x 1, y 1, z 1 ], p 2 = [x 2, y 2, z 2 ], p 3 = [x 3, y 3, z 3 ] každého trojúhelníku t proložíme rovinu T z = ax + by + c. Koeficienty a, b, c představující složky normálového vektoru roviny y 1 z 1 1 x 1 z 1 1 y 2 z 2 1 x 1 y 1 1 x 2 z 2 1 y 3 z 3 1 x 2 y 2 1 x a = 3 z 3 1 x 3 y 3 1 b = x 1 y 1 1 x 1 y 1 1 c =. x 1 y 1 1 x 2 y 2 1 x 2 y 2 1 x 2 y 2 1 x 3 y 3 1 x 3 y 3 1 x 3 y 3 1 Rovnice jednotlivých rovin nejsou udržovány v paměti, jsou podle potřeby operativně určovány (on the fly) výhoda pro práci s rozsáhlými modely. 96 / 109

Digitální model terénu Lineární nterpolace vrstevnic 94. Interpolace vrstevnic Lineární interpolační algoritmy: Spád terénu mezi dvěma body, mezi kterými provádíme interpolaci, je konstantní. Rozestup vrstevnic mezi dvěna body je také konstantní. Výpočetně jednoduché, ale nevystihuje realitu. Nelineární interpolační algoritmy: Mezi interpolovanými body předpokládáme plynulou změnu sklonu terénu geomorfologická interpolace. Rozestup vrstevnic mezi dvěma body není konstantní, zohledňuje skutečný tvar terénu (sklon okolních plošek). Využití kvadratické či kubické interpolace. Používá se v mapách velkých a středních měřítek. Tento postup je značně složitý a obtížně se algoritmizuje. 97 / 109

Digitální model terénu Lineární nterpolace vrstevnic 95. Konstrukce vrstevnic lineární interpolací Dáno: Rovina plátut (p 1, p 2, p 3), rovina ρ : z = h. Hledáme: Průsečnice AB rovin ρ a T. Založena na analytické geometrii: hledání průsečnice roviny T určené trojúhelníkem t DT a vodorovné roviny s výškou h. Opakováno nad všemi t. 98 / 109

Digitální model terénu Lineární nterpolace vrstevnic 96. Výpočet souřadnic bodů A, B Varianty vzájemné polohy ϱ a τ : nemají žádný společný bod (neřešíme), průsečnice tvoří 1 bod (neřešíme), průsečnice je úsečka. Z podobnosti trojúhelníků představujících průměty do roviny XZ a YZ platí: x 2 x 1 z 2 z 1 x 3 x 1 z 3 z 1 = = xb x1 y 2 y 1 yb y1 =, z z 1 z 2 z 1 z z 1 xa x1 y 2 y 1 ya y1 =. z z 1 z 2 z 1 z z 1 Výsledné souřadnice koncových bodů A, B průsečnice určíme ze vztahů x a = y a = x3 x1 z 3 z 1 (z z 1) + x 1 y3 y1 z 3 z 1 (z z 1) + y 1 x b = y b = x2 x1 z 2 z 1 (z z 1) + x 1, y2 y1 z 2 z 1 (z z 1) + y 1. Test, zda rovina ϱ protíná stranu p i, p i+1 trojúhelníku: (z z i)(z z i+1) < 0. 99 / 109

Digitální model terénu Lineární nterpolace vrstevnic 97. Ukázka výpočtu vrstevnic lineární interpolací (DT) 100 / 109

Digitální model terénu Lineární nterpolace vrstevnic 98. Vliv vložení povinné hrany do triangulace: výchozí situace 101 / 109

Digitální model terénu Lineární nterpolace vrstevnic 99. Vliv vložení povinné hrany do triangulace: lokální změna průběhu DMT 102 / 109

Digitální model terénu Analýza sklonu 100. Analýza sklonu terénu Analytická úloha realizovaná nad DMT. Použití pro analýzu hydrologických poměrů, sesuvů, lavin, návrhy komunikací, stavebních objektů. Zprostředkující hodnotou je gradient (tj. vektor max. spádu). Gradient f(x 0, y 0, z 0 ) funkce f(x, y, z) v bodě p = [x 0, y 0 z 0 ] Rovnice roviny ϱ Gradient ρ(x 0, y 0, z 0 ) roviny ρ f(x 0, y 0, z 0 ) = ( f x (x 0), f y (y 0), f z (z 0)). ρ : ax + by + cz + d = 0. ρ(x 0, y 0, z 0 ) = ( ρ x (x 0), ρ y (y 0), ρ z (z 0)) = (a, b, c). 103 / 109

Digitální model terénu Analýza sklonu 101. Analýza sklonu terénu Rovina ρ procházející 3 body x x 1 y y 1 z z 1 x 2 x 1 y 2 y 1 z 2 z 1 x 3 x 1 y 3 y 1 z 3 z 1 = 0. Odchylka ϕ rovin ρ a π: ϕ = arccos n 1 n 2 n 1 n 2 0,, ϕ π 2 n 1 = (a, b, c) n 2 = (0, 0, 1) Výpočet prováděn nad každým trojúhelníkem t DMT. Vizualizace trojúhelníků (tj. vyplnění barvou) na základě hodnoty ϕ. 104 / 109

Digitální model terénu Analýza sklonu 102. Sklon terénu 105 / 109

Digitální model terénu Analýza sklonu 103. Vizualizace sklonu terénu Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Rovinné geoinformatiky triangulace a kartografie. a jejich využití. Pr írodove decká fakulta UK.) 106 / 109

Digitální model terénu Analýza orientace 104. Analýzy orientace terénu Využití ve stavebnictví, zemědělství, hydrologii. Sluneční svit ovliňuje množství tepla dopadajícího na zemský povrch, hydrologické poměry, podmínky pro růst zemědělských plodin. Orientace v bodě definována jako azimut průmětu gradientu ρ do roviny x, y. Vektor v průmětem gradientu ρ(x 0, y 0, z 0 ) do roviny xy Azimut α vektoru v v = ( ρ x (x 0), ρ y (y 0), 0) = (a, b, 0). A = arctan ( b a ), A 0, 2π) Výpočet prováděn nad každým trojúhelníkem DMT. Pozor na správnou detekci kvadrantů. 107 / 109

Digitální model terénu Analýza orientace 105. Orientace terénu 108 / 109

Digitální model terénu Analýza orientace 106. Vizualizace orientace terénu 109 / 109