Rättlinjigt skelett
Ett rätlinjigt skelett är en metod för att representera en polygon genom dess topologiska skelett . Det rätlinjiga skelettet liknar på vissa sätt medianaxlarna , men skiljer sig genom att skelettet består av linjesegment, medan en polygons medianaxlar kan inkludera paraboliska kurvor.
Rätlinjiga skelett definierades först för enkla polygoner av Eichholzer, Aurenhammer, Alberts och Gärtner [1] och generaliserades till plana rätlinjiga grafer Eichholzer och Aurenhammer [2] . I tolkningen av rätlinjiga skelett som projektioner av takytan diskuterades de intensivt av G. A. Peshka [3] .
Definition
Det rätlinjiga skelettet av en polygon definieras som en process av kontinuerlig sammandragning där sidorna rör sig parallellt med sig själva med konstant hastighet. När sidorna rör sig på det här sättet, rör sig även de hörn där sidorpar skär varandra med en hastighet som beror på vinkeln i spetsen. Om en av dessa rörliga hörn kolliderar med en icke-intilliggande sida delas polygonen i två och processen fortsätter för varje del separat. Ett rätlinjigt skelett är en uppsättning kurvor längs vilka topparna passerar under kompressionsprocessen. Illustrationen visar processen att krympa en polygon (övre figuren), i den mellersta figuren är ett rätlinjigt skelett markerat i blått.
Algoritmer
Ett rätlinjigt skelett kan erhållas genom att modellera kompressionsprocessen. Många olika skelettalgoritmer gör just det, skiljer sig åt i indata och i de datastrukturer de använder för att upptäcka kombinatoriska förändringar i indatapolygonen under komprimering.
- Eichholzer et al. [1] [2] visade hur man kan beräkna rätlinjiga skelett för godtyckliga 2D-polygoner i O( n 3 log n ), eller mer exakt, i O(( n 2 + f ) log n ) tid , där n är antalet ingående polygonhörn och f är antalet flip-händelser under konstruktion. Den mest kända skattningen för f är O( n 3 ).
- En algoritm med en värsta möjliga körtid på O( nr log n), eller helt enkelt O( n 2 log n), gavs av Huber och Held, och de hävdar att deras algoritm körs i nästan linjär tid för de flesta ingångar [4 ] [5] .
- Piotr Völkel och Stjepan Obdrzalek har utvecklat en algoritm som de säger har en effektivitet på O(nr + n log r) [6] [7] . Det har dock förekommit rapporter om att deras algoritm är felaktig [8] [9] .
- Med hjälp av datastrukturen för problemet med tvåfärgade närmaste par av punkter , visade Eppstein och Erickson hur man konstruerar rätlinjiga skelett med hjälp av ett linjärt antal uppdateringar av datastrukturen för närmaste par av punkter. Datastrukturen för de närmaste punktparen, baserat på quadtree , ger en algoritm med löptid O( nr + n log n ), medan en mycket mer komplex datastruktur leder till en bättre asymptotisk gräns för löptid O( n 1 + ε + n 8/11 + εr 9/11 + ε ) , eller, enklare, O( n 17/11 + ε ) , där ε är en konstant större än noll [10] . Detta förblir den bästa (värsta fallet) körtiden för att konstruera ett rätlinjigt skelett utan inmatningsbegränsningar, men algoritmen är komplex och har inte implementerats.
- För enkla polygoner är uppgiften att konstruera ett rätlinjigt skelett lättare. Cheng och Wingeron visade hur man beräknar det rätlinjiga skelettet av en enkel polygon med n hörn, varav r har vinklar större än , i tiden O( n log 2 n + r 3/2 log r ) [11] . I värsta fall kan r vara linjär och körtiden reduceras till O( n 3/2 log n ).
- En monoton polygon med avseende på en linje L är en polygon med egenskapen att skärningen av en linje vinkelrät mot L med polygonen är ett enda segment. Om en monoton polygon tas som indata kan dess rätlinjiga skelett konstrueras i O( n log n ) tid [12] .
Applikationer
Varje punkt inuti inmatningspolygonen kan lyftas (punktens z-koordinat) i 3D-rymden med den tid det tar att nå den punkten under reduktionsprocessen. Den resulterande 3D-ytan har en konstant höjd på polygonens sidor och reser sig i en konstant vinkel från dem, förutom vid punkter på själva det rätlinjiga skelettet, där delar av ytan möts i olika vinklar. Således kan ett rätlinjigt skelett användas som en uppsättning åsar för taket på en byggnad uppburen av väggar i form av en initial polygon [1] [13] . Den nedre figuren i illustrationen visar ytan som erhålls på detta sätt från ett rätlinjigt skelett.
Eric Demaine, Martin Demaine och Anna Lubiv använde det rätlinjiga skelettet som en del av tekniken att vika ett pappersark så att en given polygon kunde erhållas med ett enda rakt snitt ( Cutting a polygon with a single cut ), och relaterade origamiproblem [ 14] .
Barquet et al använde rätlinjiga skelett i en algoritm för att hitta en tredimensionell yta, vilket är en interpolation av två givna polygonala linjer [15] .
Tanase och Weltkamp föreslog att sönderdela konkava polygoner i konvexa regioner med hjälp av rätlinjiga skelett som ett steg i förberedelse för formigenkänning i bildbehandling [16] .
Bagheri och Razzazi använde rätlinjiga skelett för att placera hörn i en grafvisualiseringsalgoritm , med villkoret att hela grafen måste ligga inuti en polygon [17] .
Det rätlinjiga skelettet kan användas för att konstruera en karakteristisk kurva av polygonkorrigeringar med avfasade hörn, liknande konstruktionen av en karakteristisk kurva med rundade hörn bildade från medianaxlarna. Tomoeda och Sugihara tillämpade denna idé för att designa (trafik)skyltar som är synliga i stora vinklar och med uppenbar tredimensionalitet [18] . På liknande sätt använde Asente och Carr linjära skelett för att utveckla färggradienter för konturerna av bokstäver och andra former [19] .
Som med andra typer av skelett, såsom medianaxlar , kan ett rätlinjigt skelett användas för att omvandla en 2D-region till dess förenklade 1D-representation. Till exempel beskriver Hauntert och Sester användningen av denna typ av rätlinjiga skelett i geografiska informationssystem för att hitta vägarnas mittlinje [20] [21] .
Vilket träd som helst utan hörn av grad två kan realiseras som ett rätlinjigt skelett av en konvex polygon [22] . Takets konvexa skrov som motsvarar detta rätlinjiga skelett bildar Steinitz-förverkligandet av Halin-grafen som bildas av ett träd genom att förena dess löv till en cykel.
Högre dimensioner
Burket, Eppstein, Goodrich och Waksman definierade en version av rätlinjiga skelett för 3D- polyedrar , beskrev en algoritm för att beräkna dem och analyserade komplexiteten hos algoritmen på flera typer av polygoner [23] .
Huber, Eichholzer, Hackl och Vogtenhuber undersökte metriska utrymmen , där motsvarande Voronoi-diagram och rätlinjiga skelett sammanfaller. För tvådimensionella utrymmen finns en fullständig beskrivning av sådana mått. För högre dimensioner kan denna metod förstås som en generalisering av rätlinjiga skelett till någon form av objekt i en godtycklig dimension med hjälp av Voronoi-diagram [24] .
Anteckningar
- ↑ 1 2 3 Aichholzer, Aurenhammer, Alberts, Gärtner, 1995 , sid. 752–761.
- ↑ 1 2 Aichholzer, Aurenhammer, 1996 , sid. 117–126.
- ↑ Peschka, 1877 .
- ↑ Huber, Held, 2010 .
- ↑ Huber, Held, 2011 , sid. 171–178.
- ↑ FME (Felkel, Obdrzalek) .
- ↑ Felkel, Obdrzalek, 1998 , sid. 210–218.
- ↑ Huber, 2012 .
- ↑ Yakersberg, 2004 .
- ↑ Eppstein och Erickson 1999 , sid. 569–592.
- ↑ Cheng, Vigneron, 2002 , sid. 156–165.
- ↑ ( Biedl, Held, Huber, Kaaser, Palfrader 2015 ). Som noterat av Beadle et al., är algoritmen som tidigare publicerats av Das et al. inte korrekt enligt beskrivningen, och fungerar endast bra för indata i allmän position när inga hörn-till-vertex-händelser inträffar ( Das, Mukhopadhyay, Nandy, Patil, Rao 2010 )
- ↑ David Belanger .
- ↑ Demaine, Demaine, Lubiw, 1998 , sid. 104–117.
- ↑ Barequet, Goodrich, Levi-Steiner, Steiner, 2003 , sid. 119–127.
- ↑ Tănase, Veltkamp, 2003 , sid. 58–67.
- ↑ Bagheri, Razzazi, 2004 , sid. 239–254.
- ↑ Tomoeda, Sugihara, 2012 , sid. 144–147.
- ↑ Asente, Carr, 2013 , sid. 63–66.
- ↑ Haunert, Sester, 2008 , sid. 169–191.
- ↑ David Raleigh, 2008 .
- ↑ Aichholzer, Cheng, Devadoss, Hackl, Huber, Li, Risteski, 2012 .
- ↑ Barequet, Eppstein, Goodrich, Vaxman, 2008 , sid. 148–160.
- ↑ Huber, Aichholzer, Hackl, Vogtenhuber, 2014 .
Litteratur
- Oswin Aichholzer, Franz Aurenhammer, David Alberts, Bernd Gärtner. En ny typ av skelett för polygoner // Journal of Universal Computer Science. - 1995. - Vol. 1 , nummer. 12 . - S. 752-761 . - doi : 10.1007/978-3-642-80350-5_65 .
- Oswin Aichholzer, Franz Aurenhammer. Proc. 2:a Ann. Int. Konf. Computing and Combinatorics (COCOON '96). - Springer-Verlag, 1996. - T. 1090. - S. 117-126. — (Föreläsningsanteckningar i datavetenskap).
- Gustav A. Peschka. Kotirte Ebenen: Kotirte Projektionen und deren Anwendung; Vortrage. — Brno: Buschak & Irrgang, 1877.
- Stefan Huber, Martin Held. Proceedings of the 22nd Canadian Conference on Computational Geometry. — 2010.
- Stefan Huber, Martin Held. Proceedings of the Twenty-Seventh Annual Symposium on Computational Geometry (SCG'11), 13–15 juni 2011, Paris, Frankrike. - 2011. - S. 171-178.
- Petr Felkel, Štěpán Obdrzalek. F.M.E. Transformers . CenterLineReplacer . Säker programvara . Hämtad: 9 mars 2017. (obestämd)
- Petr Felkel, Štěpán Obdrzalek. SCCG 98: Proceedings of the 14th Spring Conference on Computer Graphics. - 1998. - S. 210-218.
- Stephen Huber. Att beräkna raka skelett och motorcykelgrafer: teori och praktik. - Shaker Verlag, 2012. - ISBN 978-3-8440-0938-5 .
- Evgeny Yakersberg. Förvandling mellan geometriska former med rakt skelettbaserad interpolation. — Israel Institute of Technology, 2004.
- David Eppstein, Jeff Erickson. Att höja tak, krascha cykler och spela biljard: tillämpningar av en datastruktur för att hitta parvisa interaktioner // Discrete and Computational Geometry . - 1999. - T. 22 , nr. 4 . - S. 569-592 . - doi : 10.1007/PL00009479 .
- Siu-Wing Cheng, Antoine Vigneron. Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms. - 2002. - S. 156-165.
- Therese Biedl, Martin Held, Stefan Huber, Dominik Kaaser, Peter Palfrader. En enkel algoritm för att beräkna positivt viktade raka skelett av monotona polygoner // Informationsbehandlingsbokstäver. - 2015. - T. 115 , nr. 2 . - S. 243-247 . - doi : 10.1016/j.ipl.2014.09.021 .
- Gautam K. Das, Asish Mukhopadhyay, Subhas C. Nandy, Sangameswar Patil, SV Rao. Proceedings of the 22nd Canadian Conference on Computational Geometry. — 2010.
- David Belanger. Designa tak på byggnader (inte tillgänglig länk) . Hämtad 8 mars 2017. Arkiverad från originalet 21 januari 2012. (obestämd)
- Erik Demaine, Martin Demaine, Anna Lubiw. Reviderade artiklar från Japan Conference on Discrete and Computational Geometry (JCDCG'98). - Springer-Verlag, 1998. - T. 1763 . - S. 104-117 . - doi : 10.1007/b75044 .
- Gill Barequet, Michael T. Goodrich, Aya Levi-Steiner, Dvir Steiner. Handlingar från det fjortonde årliga ACM-SIAM-symposiet om diskreta algoritmer. - 2003. - S. 119-127.
- Mirela Tănase, Remco C. Veltkamp. Proceedings of the 19th Annual ACM Symposium on Computational Geometry . - 2003. - S. 58-67. doi : 10.1145/ 777792.777802 .
- Alireza Bagheri, Mohammadreza Razzazi. Rita fria träd inuti enkla polygoner med polygonskelett // Computing and Informatics. - 2004. - T. 23 , nr. 3 . - S. 239-254 .
- Akiyasu Tomoeda, Kokichi Sugihara. Nionde internationella symposiet om Voronoi-diagram i vetenskap och teknik (ISVD 2012). - 2012. - S. 144-147. - doi : 10.1109/ISVD.2012.26 .
- Paul Asente, Nathan Carr. Proceedings of the Symposium on Computational Aesthetics (CAE '13, Anaheim, Kalifornien). - 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. Områdeskollaps och vägcentrum baserade på raka skelett // Geoinformatica. - 2008. - T. 12 , nr. 2 . - S. 169-191 . - doi : 10.1007/s10707-007-0028-x .
- David Baring Raleigh. Straight Skeleton Survey Adjustment of Road Centerlines From Gps Coarse Acquisition Data: A Case Study In Bolivia. — Ohio State University, Geodetic Science and Surveying, 2008.
Oswin Aichholzer, Howard Cheng, Satyan L. Devadoss, Thomas Hackl, Stefan Huber, Brian Li, Andrej Risteski. Proceedings of the 24th Canadian Conference on Computational Geometry (CCCG'12). — 2012.
Gill Barequet, David Eppstein, Michael T. Goodrich, Amir Vaxman. Proc. 16:e europeiska symposiet om algoritmer. - Springer-Verlag, 2008. - T. 5193. - S. 148-160. — (Föreläsningsanteckningar i datavetenskap). - doi : 10.1007/978-3-540-87744-8_13 .
Stefan Huber, Oswin Aichholzer, Thomas Hackl, Birgit Vogtenhuber. Proc. 26:e kanadensiska konferensen om beräkningsgeometri (CCCG'14). — 2014.
Länkar