Voronoi diagram of orthogonal polyhedra in two and three dimensions

Abstract

Τα διαγράμματα Voronoi αποτελούν μία θεμελιώδη γεωμετρική δομή δεδομένων και έκφραζουν αποστάσεις σημείων στο χώρο από ένα σύνολο αντικειμένων. Θεωρούμε ορθογώνια πολύεδρα ευθυγραμμισμένα με τους άξονες. Πρόκειται για πολύεδρα των οποίων οι έδρες σχηματίζουν ορθές γωνίες, και οι ακμές είναι παράλληλες προς τους άξονες ενός καρτεσιανού συστήματος συντεταγμένων. Κατασκευάζουμε το διάγραμμα Voronoi στο εσωτερικό ενός ορθογώνιου πολυέδρου με τρύπες που ορίζονται από αντίστοιχα πολύεδρα, χρησιμοποιώντας την max-νόρμα. Πρόκειται για έναν συνδυασμό που βρίσκει πολλές εφαρμογές σε τομείς όπως τα raster graphics και ο σχεδιασμός κυκλωμάτων VLSI. Παρουσιάζουμε έναν αλγόριθμο για την κατασκευή αυτών των διαγραμμάτων Voronoi σε δύο και τρεις διαστάσεις. Ακολουθούμε τη μέθοδο υποδιαίρεσης και βασιζόμαστε σε μία δομή δεδομένων από bounding-volumes: πρόκειται για μία μή τετριμμένη προσέγγιση του προβλήματος. Επιπλέον αναλύουμε την πολυπλοκότητα του αλγορίθμου, η οποία είναι γραμμική κάτω από μία υπόθεση ομοιόμορφα κατανεμημένης εισόδου. Μέρος της παρούσας εργασίας πρόκειται να δημοσιευθεί στα πρακτικά του συνεδρίου SEA^2 2019 (Special Event on Analysis of Experimental Algorithms).Voronoi diagrams are a fundamental geometric data structure for obtaining proximity relations. We consider axis-aligned orthogonal polyhedra in two and three-dimensional space. These are polyhedra whose faces meet at right angles and their edges are aligned with the axes of a coordinate system. We construct the exact Voronoi diagram inside an axis-aligned orthogonal polyhedron with holes defined by such polyhedra, under the max-norm. This is a particularly useful scenario in certain application domains, including raster graphics and VLSI design. Our approach avoids creating full-dimensional elements on the Voronoi diagram and yields a skeletal representation of the input object, equivalent to the straight skeleton. We introduce a complete algorithm in 2D and 3D that follows the subdivision paradigm relying on a bounding-volume hierarchy; this is an original approach to the problem. The algorithm reads in a region bounding the input polyhedron and performs a recursive subdivision into cells (using quadtrees and octrees for 2D and 3D resp.). Then, a reconstruction technique is applied to produce an isomorphic representation of the Voronoi diagram. An hierarchical data structure of bounding volumes is used to accelerate the 2D algorithm for certain inputs and is necessary for the efficiency of the 3D algorithm. The complexity is adaptive and comparable to that of previous methods. Under a mild assumption it is O(n / D+1 / D^2) in 2D or O(n a ^2 / D^2+1 / D^3) in 3D, where n is the number of sites, namely edges or facets respectively, D is the maximum cell size for the subdivision to stop (and is <1 under the appropriate scaling), and a bounds vertex cardinality per facet. We also provide a numerically stable, open-source implementation in Julia, illustrating the practical nature of our algorithm. Part of the current thesis is given in the paper "Voronoi diagram of orthogonal polyhedra in two and three dimensions", co-authored with Prof. Ioannis Z. Emiris, that is about to appear in Proceedings of SEA^2 2019 (Special Event on Analysis of Experimental Algorithms)

    Similar works