Přímočará kostra
Přímočará kostra je metoda reprezentace mnohoúhelníku jeho topologickou kostrou . Přímočará kostra je v některých ohledech podobná středním osám , ale liší se v tom, že kostra se skládá z úseček, zatímco střední osy mnohoúhelníku mohou zahrnovat parabolické křivky.
Přímočaré skelety byly poprvé definovány pro jednoduché polygony Eichholzerem, Aurenhammerem, Albertsem a Gärtnerem [1] a zobecněny na rovinné přímočaré grafy Eichholzerem a Aurenhammerem [2] . Při interpretaci přímočarých skeletů jako průmětů povrchu střech se jimi intenzivně zabýval G. A. Peshka [3] .
Definice
Přímočará kostra mnohoúhelníku je definována jako proces nepřetržitého smršťování, při kterém se strany pohybují rovnoběžně se sebou konstantní rychlostí. Když se strany pohybují tímto způsobem, vrcholy, kde se protínají dvojice stran, se také pohybují rychlostí závislou na úhlu ve vrcholu. Pokud se jeden z těchto pohyblivých vrcholů srazí s nesousedící stranou, mnohoúhelník se rozdělí na dva a proces pokračuje pro každou část zvlášť. Přímočará kostra je soubor křivek, podél kterých procházejí vrcholy během procesu komprese. Na obrázku je znázorněn proces zmenšování mnohoúhelníku (horní obrázek), na prostředním obrázku je modře zvýrazněna přímočará kostra.
Algoritmy
Přímočarou kostru lze získat modelováním procesu komprese. Mnoho různých kostrových algoritmů dělá právě to, liší se ve vstupních datech a v datových strukturách , které používají k detekci kombinatorických změn ve vstupním polygonu během komprese.
- Eichholzer a kol . _ _ _ _ _ _ _ _ _ _ _ _ kde n je počet vstupních vrcholů mnohoúhelníku a f je počet událostí převrácení během konstrukce. Nejznámější odhad pro f je O( n 3 ).
- Algoritmus s nejhorším případem doby běhu O( nr log n), nebo jednoduše O( n 2 log n), byl uveden Huberem a Heldem a tvrdí, že jejich algoritmus běží v téměř lineárním čase pro většinu vstupů [4 ] [5] .
- Piotr Völkel a Stjepan Obdrzalek vyvinuli algoritmus, o kterém říkají, že má účinnost O(nr + n log r) [6] [7] . Objevily se však zprávy, že jejich algoritmus je nesprávný [8] [9] .
- Pomocí datové struktury pro dvoubarevný problém nejbližších párů bodů Eppstein [ a Erickson ukázali, jak konstruovat přímočaré kostry pomocí lineárního počtu aktualizací datové struktury nejbližších párů bodů. Datová struktura nejbližších dvojic bodů, založená na kvadrantovém stromu , poskytuje algoritmus s dobou běhu O( nr + n log n ), zatímco mnohem složitější struktura dat vede k lepší asymptotické vazbě na dobu běhu O( n 1 + ε + n 8/11 + ε r 9/11 + ε ) , nebo jednodušeji O( n 17/11 + ε ) , kde ε je jakákoli konstanta větší než nula [10] . Toto zůstává nejlepší (nejhorší případ) provozní doba pro konstrukci přímočarého skeletu bez vstupních omezení, ale algoritmus je složitý a nebyl implementován.
- U jednoduchých mnohoúhelníků je úkol sestrojit přímočarou kostru jednodušší. Cheng a Wingeron ukázali, jak vypočítat přímočarou kostru jednoduchého mnohoúhelníku s n vrcholy, z nichž r má úhly větší než , v čase O( n log 2 n + r 3/2 log r ) [11] . V nejhorším případě může být r lineární a doba běhu se zkrátí na O( n 3/2 log n ).
- Monotónní mnohoúhelník vzhledem k přímce L je mnohoúhelník s vlastností, že průsečík jakékoli úsečky kolmé k L s mnohoúhelníkem je jeden segment. Vezmeme-li jako vstup monotónní polygon, lze jeho přímočarou kostru sestrojit v čase O( n log n ) [12] .
Aplikace
Každý bod uvnitř vstupního polygonu lze zvednout (souřadnici z bodu) ve 3D prostoru za dobu, kterou trvá dosažení tohoto bodu během procesu zmenšení. Výsledný 3D povrch má konstantní výšku po stranách mnohoúhelníku a stoupá od nich pod konstantním úhlem, kromě bodů na samotné přímočaré kostře, kde se části povrchu setkávají pod různými úhly. Přímočarý skelet lze tedy použít jako soubor hřebenů pro střechu budovy podepřenou stěnami ve formě počátečního polygonu [1] [13] . Spodní obrázek na obrázku znázorňuje takto získaný povrch z přímočaré kostry.
Eric Demaine, Martin Demaine a Anna Lubiv použili přímočarou kostru jako součást techniky skládání listu papíru tak, aby bylo možné daný mnohoúhelník získat jediným přímým řezem ( Řezání polygonu jediným řezem ), a související problémy s origami [14] .
Barquet et al použili přímočaré kostry v algoritmu pro nalezení trojrozměrného povrchu, který je interpolací dvou daných polygonálních čar [15] .
Tanase a Weltkamp navrhli rozklad konkávních polygonů na konvexní oblasti pomocí přímočarých koster jako krok v přípravě na rozpoznávání tvaru při zpracování obrazu [16] .
Bagheri a Razzazi použili přímočaré kostry k umístění vrcholů v algoritmu vizualizace grafu s podmínkou, že celý graf musí ležet uvnitř polygonu [17] .
Přímočarou kostru lze použít ke konstrukci charakteristické křivky polygonových korekcí se zkosenými rohy, podobně jako konstrukci charakteristické křivky se zaoblenými rohy vytvořenými ze středních os. Tomoeda a Sugihara aplikovali tuto myšlenku na návrh (dopravních) značek, které jsou viditelné pod velkými úhly a se zjevnou trojrozměrností [18] . Podobně Asente a Carr použili lineární kostry k vývoji barevných přechodů pro obrysy písmen a jiných tvarů [19] .
Stejně jako u jiných druhů koster, jako jsou střední osy , lze k transformaci 2D oblasti do její 1D zjednodušené reprezentace použít přímočarou kostru. Například Hauntert a Sester popisují použití tohoto typu přímočarých koster v geografických informačních systémech k nalezení středové linie komunikací [20] [21] .
Jakýkoli strom bez vrcholů stupně dva lze realizovat jako přímočarou kostru konvexního polygonu [22] . Konvexní trup střechy odpovídající této přímočaré kostře tvoří Steinitzovu realizaci Halinova grafu vytvořeného ze stromu spojením jeho listů do cyklu.
Vyšší rozměry
Burket, Eppstein, Goodrich a Waksman definovali verzi přímočarých koster pro 3D mnohostěny , popsali algoritmus pro jejich výpočet a analyzovali složitost algoritmu na několika typech polygonů [23] .
Huber, Eichholzer, Hackl a Vogtenhuber zkoumali metrické prostory , ve kterých se odpovídající Voronoiovy diagramy a přímočaré kostry shodují. Pro dvourozměrné prostory existuje úplný popis takových metrik. Pro vyšší dimenze lze tuto metodu chápat jako zobecnění přímočarých koster na nějakou formu objektů v libovolné dimenzi pomocí Voronoiových diagramů [24] .
Poznámky
- ↑ 1 2 3 Aichholzer, Aurenhammer, Alberts, Gärtner, 1995 , str. 752–761.
- ↑ 1 2 Aichholzer, Aurenhammer, 1996 , str. 117–126.
- ↑ Peschka, 1877 .
- ↑ Huber, Held, 2010 .
- ↑ Huber, Held, 2011 , str. 171–178.
- ↑ FSI (Felkel, Obdržálek) .
- ↑ Felkel, Obdržálek, 1998 , str. 210–218.
- ↑ Huber, 2012 .
- ↑ Yakersberg, 2004 .
- ↑ Eppstein a Erickson 1999 , str. 569–592.
- ↑ Cheng, Vigneron, 2002 , str. 156–165.
- ↑ ( Biedl, Held, Huber, Kaaser, Palfrader 2015 ). Jak poznamenali Beadle et al., algoritmus dříve publikovaný Das et al. není správný, jak je popsáno, a funguje dobře pouze pro vstupy v obecné poloze , když nedochází k žádným událostem mezi vertexy ( Das, Mukhopadhyay, Nandy, Patil, Rao 2010 )
- ↑ David Belanger .
- ↑ Demaine, Demaine, Lubiw, 1998 , str. 104–117.
- ↑ Barequet, Goodrich, Levi-Steiner, Steiner, 2003 , str. 119–127.
- ↑ Tănase, Veltkamp, 2003 , s. 58–67.
- ↑ Bagheri, Razzazi, 2004 , str. 239–254.
- ↑ Tomoeda, Sugihara, 2012 , str. 144–147.
- ↑ Asente, Carr, 2013 , str. 63–66.
- ↑ Haunert, Sester, 2008 , str. 169–191.
- ↑ David Raleigh, 2008 .
- ↑ Aichholzer, Cheng, Devadoss, Hackl, Huber, Li, Risteski, 2012 .
- ↑ Barequet, Eppstein, Goodrich, Vaxman, 2008 , str. 148–160.
- ↑ Huber, Aichholzer, Hackl, Vogtenhuber, 2014 .
Literatura
- Oswin Aichholzer, Franz Aurenhammer, David Alberts, Bernd Gärtner. Nový typ kostry pro polygony // Journal of Universal Computer Science. - 1995. - Vol. 1 , vydání. 12 . - S. 752-761 . - doi : 10.1007/978-3-642-80350-5_65 .
- Oswin Aichholzer, Franz Aurenhammer. Proč. 2nd Ann. Int. Conf. Výpočetní technika a kombinatorika (COCOON '96). - Springer-Verlag, 1996. - T. 1090. - S. 117-126. — (Poznámky z informatiky).
- Gustav A. Peschka. Kotirte Ebenen: Kotirte Projektionen und deren Anwendung; Vortrage. — Brno: Buschak & Irrgang, 1877.
- Štefan Huber, Martin Held. Sborník příspěvků z 22. kanadské konference o výpočetní geometrii. — 2010.
- Štefan Huber, Martin Held. Proceedings of the Twenty-Seventh Annual Symposium on Computational Geometry (SCG'11), 13.–15. června 2011, Paříž, Francie. - 2011. - S. 171-178.
- Petr Felkel, Štěpán Obdrzalek. Transformátory F.M.E. CenterLineReplacer . Bezpečný software . Staženo: 9. března 2017. (neurčitý)
- Petr Felkel, Štěpán Obdrzalek. SCCG 98: Sborník příspěvků ze 14. jarní konference o počítačové grafice. - 1998. - S. 210-218.
- Stephen Huber. Počítání přímých koster a grafů motocyklů: teorie a praxe. - Shaker Verlag, 2012. - ISBN 978-3-8440-0938-5 .
- Jevgenij Yakersberg. Morfování mezi geometrickými tvary pomocí interpolace na bázi přímé kostry. — Izraelský technologický institut, 2004.
- David Eppstein, Jeff Erickson. Zvyšování střech, cykly shazování a hrací fond: aplikace datové struktury pro hledání párových interakcí // Diskrétní a výpočetní geometrie . - 1999. - T. 22 , no. 4 . - S. 569-592 . - doi : 10.1007/PL00009479 .
- Siu-Wing Cheng, Antoine Vigneron. Sborník příspěvků z 13. výročního sympozia ACM-SIAM o diskrétních algoritmech. - 2002. - S. 156-165.
- Therese Biedl, Martin Held, Stefan Huber, Dominik Kaaser, Peter Palfrader. Jednoduchý algoritmus pro výpočet kladně vážených rovných koster monotónních polygonů // Dopisy pro zpracování informací. - 2015. - T. 115 , č.p. 2 . - S. 243-247 . - doi : 10.1016/j.ipl.2014.09.021 .
- Gautam K. Das, Asish Mukhopadhyay, Subhas C. Nandy, Sangameswar Patil, SV Rao. Sborník příspěvků z 22. kanadské konference o výpočetní geometrii. — 2010.
- David Belanger. Navrhování střech budov (nedostupný odkaz) . Získáno 8. března 2017. Archivováno z originálu 21. ledna 2012. (neurčitý)
- Erik Demaine, Martin Demaine, Anna Lubiw. Revidované články z japonské konference o diskrétní a výpočetní geometrii (JCDCG'98). - Springer-Verlag, 1998. - T. 1763 . - S. 104-117 . - doi : 10.1007/b75044 .
- Gill Barequet, Michael T. Goodrich, Aya Levi-Steiner, Dvir Steiner. Sborník příspěvků ze čtrnáctého výročního sympozia ACM-SIAM o diskrétních algoritmech. - 2003. - S. 119-127.
- Mirela Tănase, Remco C. Veltkamp. Sborník příspěvků z 19. výročního sympozia ACM o počítačové geometrii . - 2003. - S. 58-67. doi : 10.1145/ 777792.777802 .
- Alireza Bagheri, Mohammadreza Razzazi. Kreslení volných stromů uvnitř jednoduchých polygonů pomocí polygonové kostry // Výpočetní technika a informatika. - 2004. - T. 23 , no. 3 . - S. 239-254 .
- Akiyasu Tomoeda, Kokichi Sugihara. Deváté mezinárodní symposium o Voronoiových diagramech ve vědě a inženýrství (ISVD 2012). - 2012. - S. 144-147. - doi : 10.1109/ISVD.26.2012 .
- Paul Asente, Nathan Carr. Sborník příspěvků ze sympozia o počítačové estetice (CAE '13, Anaheim, Kalifornie). - New York, NY, USA: ACM, 2013. - S. 63-66. — ISBN 978-1-4503-2203-4 . - doi : 10.1145/2487276.2487283 .
- Jan-Henrik Haunert, Monika Sester. Zhroucení oblasti a osy silnic založené na rovných kostřech // Geoinformatica. - 2008. - T. 12 , no. 2 . - S. 169-191 . - doi : 10.1007/s10707-007-0028-x .
- David Baring Raleigh. Přímá úprava skeletu osy silnic z hrubých akvizičních dat GPS: případová studie v Bolívii. — Ohio State University, Geodetic Science and Surveying, 2008.
Oswin Aichholzer, Howard Cheng, Satyan L. Devadoss, Thomas Hackl, Stefan Huber, Brian Li, Andrej Risteski. Sborník příspěvků z 24. kanadské konference o výpočetní geometrii (CCCG'12). — 2012.
Gill Barequet, David Eppstein, Michael T. Goodrich, Amir Vaxman. Proč. 16. evropské sympozium o algoritmech. - Springer-Verlag, 2008. - T. 5193. - S. 148-160. — (Poznámky z informatiky). - doi : 10.1007/978-3-540-87744-8_13 .
Stefan Huber, Oswin Aichholzer, Thomas Hackl, Birgit Vogtenhuber. Proč. 26. kanadská konference o výpočetní geometrii (CCCG'14). — 2014.
Odkazy