Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Voronoi diagram
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Type of plane partition}} [[Image:Euclidean Voronoi diagram.svg|thumb|20 points and their Voronoi cells (larger version [[#Illustration|below]])]] In [[mathematics]], a '''Voronoi diagram''' is a [[Partition of a set|partition]] of a [[plane (geometry)|plane]] into regions close to each of a given set of objects. It can be classified also as a [[tessellation]]. In the simplest case, these objects are just finitely many points in the plane (called seeds, sites, or generators). For each seed there is a corresponding [[region (mathematics)|region]], called a '''Voronoi cell''', consisting of all points of the plane closer to that seed than to any other. The Voronoi diagram of a set of points is [[Duality (mathematics)|dual]] to that set's [[Delaunay triangulation]]. The Voronoi diagram is named after mathematician [[Georgy Voronoy]], and is also called a '''Voronoi tessellation''', a '''Voronoi decomposition''', a '''Voronoi partition''', or a '''Dirichlet tessellation''' (after [[Peter Gustav Lejeune Dirichlet]]). Voronoi cells are also known as '''Thiessen polygons''', after [[Alfred H. Thiessen]].<ref>{{cite book |first1=Peter A. |last1=Burrough |first2=Rachael |last2=McDonnell |first3=Rachael A. |last3=McDonnell |first4=Christopher D. |last4=Lloyd |title=Principles of Geographical Information Systems |chapter=8.11 Nearest neighbours: Thiessen (Dirichlet/Voroni) polygons |chapter-url=https://books.google.com/books?id=kvoJCAAAQBAJ&pg=PA160 |year=2015 |publisher=Oxford University Press |isbn=978-0-19-874284-5 |pages=160–}}</ref><ref>{{cite book |first1=Paul A. |last1=Longley |first2=Michael F. |last2=Goodchild |first3=David J. |last3=Maguire |first4=David W. |last4=Rhind |title=Geographic Information Systems and Science |chapter=14.4.4.1 Thiessen polygons |chapter-url=https://books.google.com/books?id=-FbVI-2tSuYC&pg=PA333 |date=2005 |publisher=Wiley |isbn=978-0-470-87001-3 |pages=333–}}</ref><ref>{{cite book |first=Zekai |last=Sen |title=Spatial Modeling Principles in Earth Sciences |chapter=2.8.1 Delaney, Varoni, and Thiessen Polygons |chapter-url=https://books.google.com/books?id=6N0yDQAAQBAJ&pg=PA57 |date=2016 |publisher=Springer |isbn=978-3-319-41758-5 |pages=57–}}</ref> Voronoi diagrams have practical and theoretical applications in many fields, mainly in [[science]] and [[technology]], but also in [[visual art]].<ref>{{cite journal |first=Franz |last=Aurenhammer |author-link=Franz Aurenhammer |date=1991 |title=Voronoi Diagrams – A Survey of a Fundamental Geometric Data Structure |journal=ACM Computing Surveys |volume=23 |issue=3 |pages=345–405 |doi=10.1145/116873.116880|s2cid=4613674 }}</ref><ref>{{cite book |first1=Atsuyuki |last1=Okabe |first2=Barry |last2=Boots |first3=Kokichi |last3=Sugihara |first4=Sung Nok |last4=Chiu |date=2000 |title=Spatial Tessellations – Concepts and Applications of Voronoi Diagrams |edition=2nd |publisher=John Wiley |isbn=978-0-471-98635-5}}</ref> ==Simplest case== In the simplest case, shown in the first picture, we are given a finite set of points <math>\{p_1,\dots p_n\}</math> in the [[Euclidean plane]]. In this case, each point <math>p_k</math> has a corresponding cell <math>R_k</math> consisting of the points in the Euclidean plane for which <math>p_k</math> is the nearest site: the distance to <math>p_k</math> is less than or equal to the minimum distance to any other site <math>p_j</math>. For one other site <math>p_j</math>, the points that are closer to <math>p_k</math> than to <math>p_j</math>, or equally distant, form a [[Half-space (geometry)|closed half-space]], whose boundary is the [[perpendicular bisector]] of line segment <math>p_jp_k</math>. Cell <math>R_k</math> is the intersection of all of these <math>n-1</math> half-spaces, and hence it is a [[convex polygon]].<ref>{{cite book |last1=Boyd |first1=Stephen |last2=Vandenberghe |first2=Lieven |title=Convex Optimization |date=2004 |publisher=Cambridge University Press |location=Exercise 2.9 |page=60}}</ref> When two cells in the Voronoi diagram share a boundary, it is a [[line segment]], [[ray (geometry)|ray]], or line, consisting of all the points in the plane that are equidistant to their two nearest sites. The [[vertex (geometry)|vertices]] of the diagram, where three or more of these boundaries meet, are the points that have three or more equally distant nearest sites. ==Formal definition== Let <math display="inline"> X </math> be a [[metric space]] with distance function <math display="inline">d</math>. Let <math display="inline">K</math> be a set of indices and let <math display="inline">(P_k)_{k \in K}</math> be a [[tuple]] (indexed collection) of nonempty [[subsets]] (the sites) in the space <math display="inline"> X</math>. The Voronoi cell, or Voronoi region, <math display="inline"> R_k</math>, associated with the site <math display="inline">P_k</math> is the set of all points in <math display="inline">X</math> whose distance to <math display="inline"> P_k</math> is not greater than their distance to the other sites <math display="inline">P_j</math>, where <math display="inline">j</math> is any index different from <math display="inline">k</math>. In other words, if <math display="inline"> d(x,\, A) = \inf\{d(x,\, a) \mid a \in A\}</math> denotes the distance between the point <math display="inline">x</math> and the subset <math display="inline">A</math>, then <math display="block"> R_k = \{x \in X \mid d(x, P_k) \leq d(x, P_j)\; \text{for all}\; j \neq k\}</math> The Voronoi diagram is simply the [[tuple]] of cells <math display="inline">(R_k)_{k \in K} </math>. In principle, some of the sites can intersect and even coincide (an application is described below for sites representing shops), but usually they are assumed to be disjoint. In addition, infinitely many sites are allowed in the definition (this setting has applications in [[geometry of numbers]] and [[crystallography]]), but again, in many cases only finitely many sites are considered. In the particular case where the space is a [[finite-dimensional]] [[Euclidean space]], each site is a point, there are finitely many points and all of them are different, then the Voronoi cells are [[convex polytope]]s and they can be represented in a combinatorial way using their vertices, sides, two-dimensional faces, etc. Sometimes the induced combinatorial structure is referred to as the Voronoi diagram. In general however, the Voronoi cells may not be convex or even connected. In the usual Euclidean space, we can rewrite the formal definition in usual terms. Each Voronoi polygon <math display="inline">R_k</math> is associated with a generator point <math display="inline">P_k</math>. Let <math display="inline">X</math> be the set of all points in the Euclidean space. Let <math display="inline">P_1</math> be a point that generates its Voronoi region <math display="inline">R_1</math>, <math display="inline">P_2</math> that generates <math display="inline">R_2</math>, and <math display="inline">P_3</math> that generates <math display="inline">R_3</math>, and so on. <!--Then, :<math> R_1 = \{x \in X \mid d(x, P_1) \leq d(x, P_2) \;\and\; d(x, P_1) \leq d(x, P_3) \;\and\; \ldots\}</math> :<math> R_2 = \{x \in X \mid d(x, P_2) \leq d(x, P_1) \;\and\; d(x, P_2) \leq d(x, P_3) \;\and\; \ldots\}</math> :... --> Then, as expressed by Tran ''et al'',<ref name="Tran09">{{cite book |first1=Q. T. |last1=Tran |first2=D. |last2=Tainar |first3=M. |last3=Safar |date=2009 |title=Transactions on Large-Scale Data- and Knowledge-Centered Systems |page=357 |publisher=Springer |isbn=9783642037214}}</ref> "all locations in the Voronoi polygon are closer to the generator point of that polygon than any other generator point in the Voronoi diagram in Euclidean plane". ==Illustration== As a simple illustration, consider a group of shops in a city. Suppose we want to estimate the number of customers of a given shop. With all else being equal (price, products, quality of service, etc.), it is reasonable to assume that customers choose their preferred shop simply by distance considerations: they will go to the shop located nearest to them. In this case the Voronoi cell <math>R_k</math> of a given shop <math>P_k</math> can be used for giving a rough estimate on the number of potential customers going to this shop (which is modeled by a point in our city). For most cities, the distance between points can be measured using the familiar [[Euclidean distance]]: :<math>\ell_2 = d\left[\left(a_1, a_2\right), \left(b_1, b_2\right)\right] = \sqrt{\left(a_1 - b_1\right)^2 + \left(a_2 - b_2\right)^2}</math> or the [[Manhattan distance]]: :<math>d\left[\left(a_1, a_2\right), \left(b_1, b_2\right)\right] = \left|a_1 - b_1\right| + \left|a_2 - b_2\right|</math>. The corresponding Voronoi diagrams look different for different distance metrics. {{multiple image | align = center | direction = horizontal | width = 382 | header = Voronoi diagrams of 20 points under two different metrics | header_align = center | image1 = Euclidean Voronoi diagram.svg | alt1 = Voronoi diagram under Euclidean distance | caption1 = [[Euclidean distance]] | image2 = Manhattan Voronoi Diagram.svg | alt2 = Voronoi diagram under Manhattan distance | caption2 = [[Manhattan distance]] }} ==Properties== * The [[dual graph]] for a Voronoi diagram (in the case of a [[Euclidean space]] with point sites) corresponds to the [[Delaunay triangulation]] for the same set of points. * The [[closest pair of points]] corresponds to two adjacent cells in the Voronoi diagram. * If the setting is the [[Euclidean plane]] and a discrete set of points is given, then two points of the set are adjacent on the [[convex hull]] if and only if their Voronoi cells share an infinitely long side. * If the space is a [[normed space]] and the distance to each site is attained (e.g., when a site is a [[compact set]] or a closed ball), then each Voronoi cell can be represented as a union of line segments emanating from the sites.<ref name=Reem_alg>{{harvnb|Reem|2009}}.</ref> As shown there, this property does not necessarily hold when the distance is not attained. * Under relatively general conditions (the space is a possibly infinite-dimensional [[uniformly convex space]], there can be infinitely many sites of a general form, etc.) Voronoi cells enjoy a certain stability property: a small change in the shapes of the sites, e.g., a change caused by some translation or distortion, yields a small change in the shape of the Voronoi cells. This is the geometric stability of Voronoi diagrams.<ref name=Reem_geo_stable>{{harvnb|Reem|2011}}.</ref> As shown there, this property does not hold in general, even if the space is two-dimensional (but non-uniformly convex, and, in particular, non-Euclidean) and the sites are points. ==History and research== Informal use of Voronoi diagrams can be traced back to [[Descartes]] in 1644.<ref>{{Cite journal |last=Senechal |first=Marjorie |date=1993-05-21 |title=Mathematical Structures: Spatial Tessellations . Concepts and Applications of Voronoi Diagrams. Atsuyuki Okabe, Barry Boots, and Kokichi Sugihara. Wiley, New York, 1992. xii, 532 pp., illus. $89.95. Wiley Series in Probability and Mathematical Statistics. |url=https://www.science.org/doi/10.1126/science.260.5111.1170 |journal=Science |language=en |volume=260 |issue=5111 |pages=1170–1173 |doi=10.1126/science.260.5111.1170 |pmid=17806355 |issn=0036-8075}}</ref> [[Peter Gustav Lejeune Dirichlet]] used two-dimensional and three-dimensional Voronoi diagrams in his study of quadratic forms in 1850. British physician [[John Snow (physician)|John Snow]] used a Voronoi-like diagram in 1854 to illustrate how the majority of people who died in the [[1854 Broad Street cholera outbreak|Broad Street cholera outbreak]] lived closer to the infected [[Soho#Broad Street pump|Broad Street pump]] than to any other water pump. Voronoi diagrams are named after [[Georgy Voronoy|Georgy Feodosievych Voronoy]] who defined and studied the general ''n''-dimensional case in 1908.<ref>{{harvnb|Voronoï|1908a}} and {{harvnb|Voronoï|1908b}}.</ref> Voronoi diagrams that are used in [[geophysics]] and [[meteorology]] to analyse spatially distributed data are called Thiessen polygons after American meteorologist [[Alfred H. Thiessen]], who used them to estimate rainfall from scattered measurements in 1911. Other equivalent names for this concept (or particular important cases of it): Voronoi polyhedra, Voronoi polygons, domain(s) of influence, Voronoi decomposition, Voronoi tessellation(s), Dirichlet tessellation(s). ==Examples== [[Image:Coloured Voronoi 3D slice.svg|right|thumb|This is a slice of the Voronoi diagram of a random set of points in a 3D box. In general, a cross section of a 3D Voronoi tessellation is a [[power diagram]], a weighted form of a 2d Voronoi diagram, rather than being an unweighted Voronoi diagram.]] Voronoi tessellations of regular [[Lattice (group)|lattice]]s of points in two or three dimensions give rise to many familiar tessellations. * A 2D lattice gives an irregular honeycomb tessellation, with equal hexagons with point symmetry; in the case of a regular triangular lattice it is regular; in the case of a rectangular lattice the hexagons reduce to rectangles in rows and columns; a [[Square (geometry)|square]] lattice gives the regular tessellation of squares; note that the rectangles and the squares can also be generated by other lattices (for example the lattice defined by the vectors (1,0) and (1/2,1/2) gives squares). * A [[simple cubic lattice]] gives the [[cubic honeycomb]]. * A [[hexagonal close-packed]] lattice gives a tessellation of space with [[trapezo-rhombic dodecahedron|trapezo-rhombic dodecahedra]]. * A [[face-centred cubic]] lattice gives a tessellation of space with [[rhombic dodecahedron|rhombic dodecahedra]]. * A [[body-centred cubic]] lattice gives a tessellation of space with [[truncated octahedron|truncated octahedra]]. * Parallel planes with regular triangular lattices aligned with each other's centers give the [[hexagonal prismatic honeycomb]]. * Certain body-centered tetragonal lattices give a tessellation of space with [[rhombo-hexagonal dodecahedron|rhombo-hexagonal dodecahedra]]. Certain body-centered tetragonal lattices give a tessellation of space with [[rhombo-hexagonal dodecahedron|rhombo-hexagonal dodecahedra]]. For the set of points (''x'', ''y'') with ''x'' in a discrete set ''X'' and ''y'' in a discrete set ''Y'', we get rectangular tiles with the points not necessarily at their centers. ==Higher-order Voronoi diagrams== Although a normal Voronoi cell is defined as the set of points closest to a single point in ''S'', an ''n''th-order Voronoi cell is defined as the set of points having a particular set of ''n'' points in ''S'' as its ''n'' nearest neighbors. Higher-order Voronoi diagrams also subdivide space. Higher-order Voronoi diagrams can be generated recursively. To generate the ''n''<sup>th</sup>-order Voronoi diagram from set ''S'', start with the (''n'' − 1)<sup>th</sup>-order diagram and replace each cell generated by ''X'' = {''x''<sub>1</sub>, ''x''<sub>2</sub>, ..., ''x''<sub>''n''−1</sub>} with a Voronoi diagram generated on the set ''S'' − ''X''. ===Farthest-point Voronoi diagram=== For a set of ''n'' points, the (''n'' − 1)<sup>th</sup>-order Voronoi diagram is called a farthest-point Voronoi diagram. For a given set of points ''S'' = {''p''<sub>1</sub>, ''p''<sub>2</sub>, ..., ''p''<sub>''n''</sub>}, the farthest-point Voronoi diagram divides the plane into cells in which the same point of ''P'' is the farthest point. A point of ''P'' has a cell in the farthest-point Voronoi diagram if and only if it is a vertex of the [[convex hull]] of ''P''. Let ''H'' = {''h''<sub>1</sub>, ''h''<sub>2</sub>, ..., ''h''<sub>''k''</sub>} be the convex hull of ''P''; then the farthest-point Voronoi diagram is a subdivision of the plane into ''k'' cells, one for each point in ''H'', with the property that a point ''q'' lies in the cell corresponding to a site ''h''<sub>''i''</sub> if and only if d(''q'', ''h''<sub>''i''</sub>) > d(''q'', ''p''<sub>''j''</sub>) for each ''p''<sub>''j''</sub> ∈ ''S'' with ''h''<sub>''i''</sub> ≠ ''p''<sub>''j''</sub>, where d(''p'', ''q'') is the [[Euclidean distance]] between two points ''p'' and ''q''.<ref name="berg2008">{{cite book |year=2008 |title=Computational Geometry |isbn=978-3-540-77974-2 |publisher=[[Springer-Verlag]] |edition=Third |first1=Mark |last1=de Berg |first2=Marc |last2=van Kreveld |first3=Mark |last3=Overmars |first4=Otfried |last4=Schwarzkopf |author-link1=Mark de Berg |author-link2=Marc van Kreveld |author-link3=Mark Overmars |author-link4=Otfried Schwarzkopf}} 7.4 Farthest-Point Voronoi Diagrams. Includes a description of the algorithm.</ref><ref>{{cite journal |first=Sven |last=Skyum |title=A simple algorithm for computing the smallest enclosing circle |journal=Information Processing Letters |volume=37 |issue=3 |date=18 February 1991 |pages=121–125 |doi=10.1016/0020-0190(91)90030-L}}, contains a simple algorithm to compute the farthest-point Voronoi diagram.</ref> The boundaries of the cells in the farthest-point Voronoi diagram have the structure of a [[Real tree|topological tree]], with infinite [[Ray (mathematics)|rays]] as its leaves. Every finite tree is isomorphic to the tree formed in this way from a farthest-point Voronoi diagram.<ref>{{cite conference | last1 = Biedl | first1 = Therese | author-link = Therese Biedl | last2 = Grimm | first2 = Carsten | last3 = Palios | first3 = Leonidas | last4 = Shewchuk | first4 = Jonathan | author4-link = Jonathan Shewchuk | last5 = Verdonschot | first5 = Sander | contribution = Realizing farthest-point Voronoi diagrams | title = Proceedings of the 28th Canadian Conference on Computational Geometry (CCCG 2016) | year = 2016}}</ref> ==Generalizations and variations== As implied by the definition, Voronoi cells can be defined for metrics other than Euclidean, such as the [[Mahalanobis distance]] or [[Manhattan distance]]. However, in these cases the boundaries of the Voronoi cells may be more complicated than in the Euclidean case, since the equidistant locus for two points may fail to be subspace of codimension 1, even in the two-dimensional case. [[Image:Approximate Voronoi Diagram.svg|thumb|Approximate Voronoi diagram of a set of points. Notice the blended colors in the fuzzy boundary of the Voronoi cells.]] A [[weighted Voronoi diagram]] is the one in which the function of a pair of points to define a Voronoi cell is a distance function modified by multiplicative or additive weights assigned to generator points. In contrast to the case of Voronoi cells defined using a distance which is a [[metric (mathematics)|metric]], in this case some of the Voronoi cells may be empty. A [[power diagram]] is a type of Voronoi diagram defined from a set of circles using the [[Power of a point|power distance]]; it can also be thought of as a weighted Voronoi diagram in which a weight defined from the radius of each circle is added to the [[squared Euclidean distance]] from the circle's center.<ref>{{cite book |last=Edelsbrunner |first=Herbert |author-link=Herbert Edelsbrunner |chapter=13.6 Power Diagrams |pages=327–328 |publisher=Springer-Verlag |series=EATCS Monographs on Theoretical Computer Science |title=Algorithms in Combinatorial Geometry |volume=10 |orig-year=1987 |year=2012 |isbn=9783642615689}}</ref> The Voronoi diagram of <math>n</math> points in <math>d</math>-dimensional space can have <math display=inline>O(n^{\lceil d/2 \rceil})</math> vertices, requiring the same bound for the amount of memory needed to store an explicit description of it. Therefore, Voronoi diagrams are often not feasible for moderate or high dimensions. A more space-efficient alternative is to use approximate Voronoi diagrams.<ref>{{cite book |chapter=Space-efficient approximate Voronoi diagrams |isbn=1581134959 |doi=10.1145/509907.510011 |title=Proceedings of the thiry-fourth annual ACM symposium on Theory of computing |first1=Sunil |last1=Sunil Arya |first2=Theocharis |last2=Malamatos |first3=David M. |last3=Mount |author3-link=David Mount |date=2002 |pages=721–730 |s2cid=1727373 }}</ref> Voronoi diagrams are also related to other geometric structures such as the [[medial axis]] (which has found applications in image segmentation, [[optical character recognition]], and other computational applications), [[straight skeleton]], and [[zone diagram]]s. ==Applications== === Meteorology/Hydrology === It is used in meteorology and engineering hydrology to find the weights for precipitation data of stations over an area (watershed). The points generating the polygons are the various station that record precipitation data. Perpendicular bisectors are drawn to the line joining any two stations. This results in the formation of polygons around the stations. The area <math>(A_i)</math> touching station point is known as influence area of the station. The average precipitation is calculated by the formula <math>\bar{P}=\frac{\sum A_i P_i}{\sum A_i}</math>{{see also|Delaunay triangulation#Applications}} === Humanities and social sciences=== *In [[classical archaeology]], specifically [[art history]], the symmetry of [[statue]] heads is analyzed to determine the type of statue a severed head may have belonged to. An example of this that made use of Voronoi cells was the identification of the [[Sabouroff head]], which made use of a high-resolution [[polygon mesh]].<ref name="Hoelscher20a" /><ref name="Hoelscher20b" /> *In [[dialectometry]], Voronoi cells are used to indicate a supposed linguistic continuity between survey points. *In [[political science]], Voronoi diagrams have been used to study multi-dimensional, multi-party competition.<ref>{{cite book |last1=Laver |first1=Michael |last2=Sergenti |first2=Ernest |title=Party competition : an agent-based model |date=2012 |publisher=Princeton University Press |location=Princeton |isbn=978-0-691-13903-6}}</ref> === Natural sciences === [[File:Voronoi growth euclidean.gif|thumb|A Voronoi tessellation emerges by radial growth from seeds outward.]] *In [[biology]], Voronoi diagrams are used to model a number of different biological structures, including [[Cell (biology)|cells]]<ref>{{cite journal |last1=Bock |first1=Martin |last2=Tyagi |first2=Amit Kumar |last3=Kreft |first3=Jan-Ulrich |last4=Alt |first4=Wolfgang |title=Generalized Voronoi Tessellation as a Model of Two-dimensional Cell Tissue Dynamics |journal=Bulletin of Mathematical Biology |volume=72 |issue=7 |pages=1696–1731 |doi=10.1007/s11538-009-9498-3 |pmid=20082148 |year=2009 |arxiv=0901.4469v1 |bibcode=2009arXiv0901.4469B |s2cid=16074264}}</ref> and [[Cancellous bone|bone microarchitecture.]]<ref>{{cite journal |author=Hui Li |editor2-first=Robert |editor2-last=Sitnik |editor1-first=Atilla M |editor1-last=Baskurt |title=Spatial Modeling of Bone Microarchitecture |journal=Three-Dimensional Image Processing (3Dip) and Applications II |volume=8290 |pages=82900P |year=2012 |bibcode=2012SPIE.8290E..0PL |doi=10.1117/12.907371 |s2cid=1505014}}</ref> Indeed, Voronoi tessellations work as a geometrical tool to understand the physical constraints that drive the organization of biological tissues.<ref name="Sanchez-Gutierrez 77–88">{{Cite journal |last1=Sanchez-Gutierrez |first1=D. |last2=Tozluoglu |first2=M. |last3=Barry |first3=J. D. |last4=Pascual |first4=A. |last5=Mao |first5=Y. |last6=Escudero |first6=L. M. |date=2016-01-04 |title=Fundamental physical cellular constraints drive self-organization of tissues |journal=The EMBO Journal |volume=35 |issue=1 |pages=77–88 |doi=10.15252/embj.201592374 |pmc=4718000 |pmid=26598531}}</ref> *In [[hydrology]], Voronoi diagrams are used to calculate the rainfall of an area, based on a series of point measurements. In this usage, they are generally referred to as Thiessen polygons. *In [[ecology]], Voronoi diagrams are used to study the growth patterns of forests and forest canopies, and may also be helpful in developing predictive models for forest fires. *In [[ethology]], Voronoi diagrams are used to model domains of danger in the [[selfish herd theory]]. *In [[computational chemistry]], ligand-binding sites are transformed into Voronoi diagrams for [[machine learning]] applications (e.g., to classify binding pockets in proteins).<ref>{{cite book |last1=Feinstein |first1=Joseph |contribution=Bionoi: A Voronoi Diagram-Based Representation of Ligand-Binding Sites in Proteins for Machine Learning Applications |date=2021 |url=https://doi.org/10.1007/978-1-0716-1209-5_17 |title=Protein-Ligand Interactions and Drug Design |pages=299–312 |editor-last=Ballante |editor-first=Flavio |series=Methods in Molecular Biology |place=New York, NY |publisher=Springer US |language=en |doi=10.1007/978-1-0716-1209-5_17 |isbn=978-1-0716-1209-5 |access-date=2021-04-23 |last2=Shi |first2=Wentao |last3=Ramanujam |first3=J. |last4=Brylinski |first4=Michal |volume=2266 |pmid=33759134 |s2cid=232338911}}</ref> In other applications, Voronoi cells defined by the positions of the nuclei in a molecule are used to compute [[partial charge|atomic charge]]s. This is done using the [[Voronoi deformation density]] method. *In [[astrophysics]], Voronoi diagrams are used to generate adaptative smoothing zones on images, adding signal fluxes on each one. The main objective of these procedures is to maintain a relatively constant [[signal-to-noise ratio]] on all the images. *In [[computational fluid dynamics]], the Voronoi tessellation of a set of points can be used to define the computational domains used in [[finite volume]] methods, e.g. as in the moving-mesh cosmology code AREPO.<ref>{{cite journal |title=E pur si muove: Galilean-invariant cosmological hydrodynamical simulations on a moving mesh |last=Springel |first=Volker |year=2010 |journal=MNRAS |volume=401 |issue=2 |pages=791–851 |doi=10.1111/j.1365-2966.2009.15715.x |doi-access=free |bibcode=2010MNRAS.401..791S |arxiv=0901.4107 |s2cid=119241866}}</ref> *In [[computational physics]], Voronoi diagrams are used to calculate profiles of an object with [[Shadowgraph]] and proton radiography in [[High energy density physics]].<ref>{{Cite journal |last=Kasim |first=Muhammad Firmansyah |date=2017-01-01 |title=Quantitative shadowgraphy and proton radiography for large intensity modulations |journal=Physical Review E |volume=95 |issue=2 |pages=023306 |doi=10.1103/PhysRevE.95.023306 |pmid=28297858 |arxiv=1607.04179 |bibcode=2017PhRvE..95b3306K |s2cid=13326345}}</ref> === Health === *In [[medical diagnosis]], models of muscle tissue, based on Voronoi diagrams, can be used to detect neuromuscular diseases.<ref name="Sanchez-Gutierrez 77–88"/> *In [[epidemiology]], Voronoi diagrams can be used to correlate sources of infections in epidemics. One of the early applications of Voronoi diagrams was implemented by [[John Snow (physician)|John Snow]] to study the [[1854 Broad Street cholera outbreak]] in Soho, England. He showed the correlation between residential areas on the map of Central London whose residents had been using a specific water pump, and the areas with the most deaths due to the outbreak.<ref name="Johnson2006">{{cite book |author=Steven Johnson |title=The Ghost Map: The Story of London's Most Terrifying Epidemic — and How It Changed Science, Cities, and the Modern World |url=https://books.google.com/books?id=8R3NrzE8veEC&pg=PT187 |date=19 October 2006 |access-date=16 October 2017 |publisher=Penguin Publishing Group |isbn=978-1-101-15853-1 |page=187}}</ref> === Engineering === *In [[polymer physics]], Voronoi diagrams can be used to represent free volumes of polymers. *In [[materials science]], polycrystalline microstructures in metallic alloys are commonly represented using Voronoi tessellations. *In island growth, the Voronoi diagram is used to estimate the growth rate of individual islands.<ref name="MulheranBlackman1996">{{cite journal |last1=Mulheran |first1=P. A. |last2=Blackman |first2=J. A. |title=Capture zones and scaling in homogeneous thin-film growth |journal=Physical Review B |volume=53 |issue=15 |year=1996 |pages=10261–7 |doi=10.1103/PhysRevB.53.10261 |pmid=9982595 |bibcode=1996PhRvB..5310261M}}</ref><ref name="PimpinelliTumbek2014">{{cite journal |last1=Pimpinelli |first1=Alberto |last2=Tumbek |first2=Levent |last3=Winkler |first3=Adolf |title=Scaling and Exponent Equalities in Island Nucleation: Novel Results and Application to Organic Films |journal=The Journal of Physical Chemistry Letters |volume=5 |issue=6 |year=2014 |pages=995–8 |doi=10.1021/jz500282t |pmid=24660052 |pmc=3962253}}</ref><ref name="FanfoniPlacidi2007">{{cite journal |last1=Fanfoni |first1=M. |last2=Placidi |first2=E. |last3=Arciprete |first3=F. |last4=Orsini |first4=E. |last5=Patella |first5=F. |last6=Balzarotti |first6=A. |title=Sudden nucleation versus scale invariance of InAs quantum dots on GaAs |journal=Physical Review B |volume=75 |issue=24 |pages=245312 |year=2007 |issn=1098-0121 |doi=10.1103/PhysRevB.75.245312 |bibcode=2007PhRvB..75x5312F |s2cid=120017577}}</ref><ref name="MiyamotoMoutanabbir2009">{{cite journal |last1=Miyamoto |first1=Satoru |last2=Moutanabbir |first2=Oussama |last3=Haller |first3=Eugene E. |last4=Itoh |first4=Kohei M. |title=Spatial correlation of self-assembled isotopically pure Ge/Si(001) nanoislands |journal=Physical Review B |volume=79 |issue=165415 |pages=165415 |year=2009 |issn=1098-0121 |doi=10.1103/PhysRevB.79.165415 |bibcode=2009PhRvB..79p5415M |s2cid=13719907 }}</ref><ref name="Löbl Zhai Jahn Ritzmann p. ">{{cite journal |last1=Löbl |first1=Matthias C. |last2=Zhai |first2=Liang | last3=Jahn |first3=Jan-Philipp |last4=Ritzmann |first4=Julian |last5=Huo |first5=Yongheng |last6=Wieck |first6=Andreas D. |last7=Schmidt |first7=Oliver G. |last8=Ludwig |first8=Arne |last9=Rastelli |first9=Armando |last10=Warburton |first10=Richard J. |title=Correlations between optical properties and Voronoi-cell area of quantum dots |journal=Physical Review B |volume=100 |issue=15 |date=2019-10-03 |issn=2469-9950 |doi=10.1103/physrevb.100.155402 |page=155402 |arxiv=1902.10145 |bibcode=2019PhRvB.100o5402L |s2cid=119443529}}</ref> *In [[solid-state physics]], the [[Wigner-Seitz cell]] is the Voronoi tessellation of a solid, and the [[Brillouin zone]] is the Voronoi tessellation of reciprocal ([[wavenumber]]) space of crystals which have the symmetry of a space group. *In [[aviation]], Voronoi diagrams are superimposed on oceanic plotting charts to identify the nearest airfield for in-flight diversion (see [[ETOPS]]), as an aircraft progresses through its flight plan. *In [[architecture]], Voronoi patterns were the basis for the winning entry for the redevelopment of [[The Arts Centre Gold Coast]].<ref>{{cite web|title=GOLD COAST CULTURAL PRECINCT|url=http://www.a-r-m.com.au/projects_GoldCoastCP.html|publisher=ARM Architecture|access-date=2014-04-28|archive-date=2016-07-07|archive-url=https://web.archive.org/web/20160707155535/http://www.a-r-m.com.au/projects_GoldCoastCP.html|url-status=dead}}</ref> *In [[urban planning]], Voronoi diagrams can be used to evaluate the Freight Loading Zone system.<ref>{{Cite journal |last1=Lopez |first1=C. |last2=Zhao |first2=C.-L. |last3=Magniol |first3=S |last4=Chiabaut |first4=N |last5=Leclercq |first5=L |date=28 February 2019 |title=Microscopic Simulation of Cruising for Parking of Trucks as a Measure to Manage Freight Loading Zone |journal=Sustainability |volume=11 (5), 1276|issue=5 |page=1276 |doi=10.3390/su11051276 |doi-access=free |bibcode=2019Sust...11.1276L }}</ref> *In [[mining]], Voronoi polygons are used to estimate the reserves of valuable materials, minerals, or other resources. Exploratory drillholes are used as the set of points in the Voronoi polygons. *In [[surface metrology]], Voronoi tessellation can be used for [[surface roughness]] modeling.<ref>{{Cite journal |last1=Singh |first1=K. |last2=Sadeghi |first2=F. |last3=Correns |first3=M. |last4=Blass |first4=T. |date=December 2019 |title=A microstructure based approach to model effects of surface roughness on tensile fatigue |url=https://www.sciencedirect.com/science/article/pii/S0142112319303330#f0005 |journal=International Journal of Fatigue |volume=129 |page=105229 |doi=10.1016/j.ijfatigue.2019.105229 |s2cid=202213370}}</ref> *In [[robotics]], some of the control strategies and path planning algorithms<ref>{{cite journal |last1=Niu |first1=Hanlin |last2=Savvaris |first2=Al |last3=Tsourdos |first3=Antonios |last4=Ji |first4=Ze |title=Voronoi-visibility roadmap-based path planning algorithm for unmanned surface vehicles |journal=The Journal of Navigation |year=2019 |volume=72 |issue=4 |pages=850–874 |doi=10.1017/S0373463318001005|bibcode=2019JNav...72..850N |s2cid=67908628 |url=https://orca.cardiff.ac.uk/118170/1/Voronoi-Visibility%20Roadmap-based%20Path%20Planning%20Algorithm%20for%20Unmanned%20Su.._.pdf}}</ref> of [[Multi-agent system|multi-robot systems]] are based on the Voronoi partitioning of the environment.<ref>{{Cite journal |last1=Cortes |first1=J. |last2=Martinez |first2=S. |last3=Karatas |first3=T. |last4=Bullo |first4=F. |date=April 2004 |title=Coverage control for mobile sensing networks |url=https://ieeexplore.ieee.org/document/1284411 |journal=IEEE Transactions on Robotics and Automation |volume=20 |issue=2 |pages=243–255 |doi=10.1109/TRA.2004.824698 |s2cid=2022860 |issn=2374-958X}}</ref><ref>{{Cite journal |last1=Teruel |first1=Enrique |last2=Aragues |first2=Rosario |last3=López-Nicolás |first3=Gonzalo |date=April 2021|title=A Practical Method to Cover Evenly a Dynamic Region With a Swarm |url=https://ieeexplore.ieee.org/document/9349134 |journal=IEEE Robotics and Automation Letters |volume=6 |issue=2 |pages=1359–1366 |doi=10.1109/LRA.2021.3057568 |s2cid=232071627 |issn=2377-3766}}</ref> === Mathematics === *A [[point location]] data structure can be built on top of the Voronoi diagram in order to answer [[nearest neighbor search|nearest neighbor]] queries, where one wants to find the object that is closest to a given query point. Nearest neighbor queries have numerous applications. For example, one might want to find the nearest hospital or the most similar object in a [[database]]. A large application is [[vector quantization]], commonly used in [[data compression]]. *In [[geometry]], Voronoi diagrams can be used to find the [[Largest empty sphere|largest empty circle]] amid a set of points, and in an enclosing polygon; e.g. to build a new supermarket as far as possible from all the existing ones, lying in a certain city. *Voronoi diagrams together with farthest-point Voronoi diagrams are used for efficient algorithms to compute the [[Roundness (object)|roundness]] of a set of points.<ref name="berg2008" /> The Voronoi approach is also put to use in the evaluation of circularity/[[roundness (object)|roundness]] while assessing the dataset from a [[coordinate-measuring machine]]. *Zeroes of iterated derivatives of a rational function on the complex plane accumulate on the edges of the Voronoi diagam of the set of the poles ([[Pólya's shires theorem]]<ref>Pólya, G. On the zeros of the derivatives of a function and its analytic character. Bulletin of the AMS, Volume 49, Issue 3, 178-191, 1943.</ref>). === Informatics === *In [[Computer network|networking]], Voronoi diagrams can be used in derivations of the capacity of a [[wireless network]]. *In [[computer graphics]], Voronoi diagrams are used to calculate 3D shattering / fracturing geometry patterns. It is also used to [[Procedural generation|procedurally generate]] organic or lava-looking textures. * In autonomous [[robot navigation]], Voronoi diagrams are used to find clear routes. If the points are obstacles, then the edges of the graph will be the routes furthest from obstacles (and theoretically any collisions). *In [[machine learning]], Voronoi diagrams are used to do [[k-nearest neighbor algorithm|1-NN]] classifications.<ref>{{cite book |title=Machine Learning |url=https://archive.org/details/machinelearning00mitc_087 |url-access=limited |first=Tom M. |last=Mitchell |year=1997 |publisher=McGraw-Hill |edition=International |isbn=978-0-07-042807-2 |page=[https://archive.org/details/machinelearning00mitc_087/page/n244 233]}}</ref> *In global scene reconstruction, including with random sensor sites and unsteady wake flow, geophysical data, and 3D turbulence data, Voronoi tesselations are used with [[deep learning]].<ref>{{Cite web|last=Shenwai|first=Tanushree|date=2021-11-18|title=A Novel Deep Learning Technique That Rebuilds Global Fields Without Using Organized Sensor Data|url=https://www.marktechpost.com/2021/11/18/a-novel-deep-learning-technique-that-rebuilds-global-fields-without-using-organized-sensor-data/|access-date=2021-12-05 |website=MarkTechPost |language=en-US}}</ref> *In [[user interface]] development, Voronoi patterns can be used to compute the best hover state for a given point.<ref>Archived at [https://ghostarchive.org/varchive/youtube/20211211/90NsjKvz9Ns Ghostarchive]{{cbignore}} and the [https://web.archive.org/web/20140611194118/http://www.youtube.com/watch?v=90NsjKvz9Ns&gl=US&hl=en Wayback Machine]{{cbignore}}: {{Cite web |url=https://www.youtube.com/watch?v=90NsjKvz9Ns|title=Mark DiMarco: User Interface Algorithms [JSConf2014]|date=11 June 2014 |via=www.youtube.com}}{{cbignore}}</ref> ==Algorithms== Several efficient algorithms are known for constructing Voronoi diagrams, either directly (as the diagram itself) or indirectly by starting with a [[Delaunay triangulation]] and then obtaining its dual. Direct algorithms include [[Fortune's algorithm]], an [[big O notation|O]](''n'' log(''n'')) algorithm for generating a Voronoi diagram from a set of points in a plane. [[Bowyer–Watson algorithm]], an [[big O notation|O]](''n'' log(''n'')) to [[big O notation|O]](''n''<sup>2</sup>) algorithm for generating a Delaunay triangulation in any number of dimensions, can be used in an indirect algorithm for the Voronoi diagram. The [[Jump flooding algorithm|Jump Flooding Algorithm]] can generate approximate Voronoi diagrams in constant time and is suited for use on commodity graphics hardware.<ref>{{cite conference | last1 = Rong | first1 = Guodong | last2 = Tan | first2 = Tiow Seng | editor1-last = Olano | editor1-first = Marc | editor2-last = Séquin | editor2-first = Carlo H. | contribution = Jump flooding in GPU with applications to Voronoi diagram and distance transform | contribution-url = https://www.comp.nus.edu.sg/~tants/jfa/i3d06.pdf | doi = 10.1145/1111411.1111431 | pages = 109–116 | publisher = ACM | title = Proceedings of the 2006 Symposium on Interactive 3D Graphics, SI3D 2006, March 14-17, 2006, Redwood City, California, USA | year = 2006| isbn = 1-59593-295-X }}</ref><ref>{{Cite web|url=https://www.shadertoy.com/view/4syGWK|title = Shadertoy}}</ref> [[Lloyd's algorithm]] and its generalization via the [[Linde–Buzo–Gray algorithm]] (aka [[k-means clustering]]) use the construction of Voronoi diagrams as a subroutine. These methods alternate between steps in which one constructs the Voronoi diagram for a set of seed points, and steps in which the seed points are moved to new locations that are more central within their cells. These methods can be used in spaces of arbitrary dimension to iteratively converge towards a specialized form of the Voronoi diagram, called a [[Centroidal Voronoi tessellation]], where the sites have been moved to points that are also the geometric centers of their cells. == Voronoi in 3D == Voronoi meshes can also be generated in 3D. <gallery> File:Random points in 3D for forming a 3D Voronoi partition.svg|Random points in 3D for forming a 3D Voronoi partition File:3D Voronoi mesh of 25 random points.svg|3D Voronoi mesh of 25 random points File:3D Voronoi mesh of 25 random points with 0.3 opacity and points.svg|3D Voronoi mesh of 25 random points with 0.3 opacity and points File:3D Voronoi mesh of 25 random points convex polyhedra pieces.svg|3D Voronoi mesh of 25 random points convex polyhedra pieces </gallery> ==See also== {{cols}} *[[Delaunay triangulation]] *[[Map segmentation]] *[[Natural element method]] *[[Natural neighbor interpolation]] *[[Nearest-neighbor interpolation]] *[[Power diagram]] *[[Voronoi pole]] {{colend}} ==Notes== {{Reflist|30em|refs= <ref name="Hoelscher20a">{{cite book |first1=Tonio|last1=Hölscher |first2=Susanne|last2=Krömker |first3=Hubert|last3=Mara|author3-link=Hubert Mara |title=Gedenkschrift für Georgios Despinis |chapter=Der [[Sabouroff head|Kopf Sabouroff]] in Berlin: Zwischen archäologischer Beobachtung und geometrischer Vermessung |publisher=[[Benaki Museum]] |location=Athens, Greece |language=de |date=2020 }}</ref> <ref name="Hoelscher20b">{{YouTube|VPqsY4tzwWA|Voronoi Cells & Geodesic Distances - Sabouroff head}}. Analysis using the [[GigaMesh Software Framework]] as described by Hölscher et al. cf. [[doi:10.11588/heidok.00027985]]. </ref>}} ==References== {{refbegin}} *{{cite book | last1=Aurenhammer | first1=Franz | author1-link=Franz Aurenhammer | last2=Klein | first2=Rolf | last3=Lee | first3=Der-Tsai | author3-link=Der-Tsai Lee | title=Voronoi Diagrams and Delaunay Triangulations | publisher=World Scientific | year=2013 | isbn=978-9814447638 }} *{{Cite journal | last=Bowyer | first=Adrian | author-link=Adrian Bowyer | title=Computing Dirichlet tessellations | doi=10.1093/comjnl/24.2.162 | journal=[[The Computer Journal|Comput. J.]] | volume=24 | issue=2 | pages=162–166 | year=1981 | doi-access = free }} *{{cite book | last1=de Berg | first1=Mark | last2=van Kreveld | first2=Marc | last3=Overmars | first3=Mark | author3-link=Mark Overmars | last4=Schwarzkopf | first4=Otfried | title=Computational Geometry | publisher=Springer | edition=2nd revised | year=2000 | isbn=978-3-540-65620-3 | chapter-url=https://archive.org/details/computationalgeo00berg | chapter=7. Voronoi Diagrams | pages=47–163 }} ''Includes a description of Fortune's algorithm.'' *{{cite book | last=Klein | first=Rolf | chapter=Abstract voronoi diagrams and their applications: Extended abstract | title=Computational Geometry and its Applications | series=[[Lecture Notes in Computer Science]] | date=1988 | volume=333 | pages=148–157 | doi=10.1007/3-540-50335-8_31 | publisher=Springer | isbn=978-3-540-52055-9 }} *{{cite journal | last=Lejeune Dirichlet | first=G. | author-link=Peter Gustav Lejeune Dirichlet | year=1850 | title=Über die Reduktion der positiven quadratischen Formen mit drei unbestimmten ganzen Zahlen | journal=Journal für die Reine und Angewandte Mathematik | volume=1850 | issue=40 |pages=209–227 | doi=10.1515/crll.1850.40.209 | s2cid=199546675 }} *{{cite book | last1=Okabe | first1=Atsuyuki | last2=Boots | first2=Barry | last3=Sugihara | first3=Kokichi | author3-link=Kokichi Sugihara | last4=Chiu | first4=Sung Nok | title=Spatial Tessellations — Concepts and Applications of Voronoi Diagrams | publisher=Wiley | edition=2nd | year=2000 | isbn=0-471-98635-6 }} *{{Cite news | last=Reem | first=Daniel | year=2009 | title=An algorithm for computing Voronoi diagrams of general generators in general normed spaces | doi=10.1109/ISVD.2009.23 | journal=Proceedings of the Sixth International Symposium on Voronoi Diagrams in Science and Engineering (ISVD 2009) | pages=144–152 | isbn=978-1-4244-4769-5 }} *{{cite book | first=Daniel | last=Reem | title=Proceedings of the twenty-seventh annual symposium on Computational geometry | chapter=The Geometric Stability of Voronoi Diagrams with Respect to Small Changes of the Sites | arxiv=1103.4125 | date=2011 | doi=10.1145/1998196.1998234 | pages=254–263 | isbn=9781450306829 | bibcode=2011arXiv1103.4125R | s2cid=14639512 }} *{{cite journal | last = Thiessen | first = Alfred H. | author-link = Alfred H. Thiessen | date = July 1911 | doi = 10.1175/1520-0493(1911)39<1082b:pafla>2.0.co;2 | issue = 7 | journal = Monthly Weather Review | pages = 1082–1089 | publisher = American Meteorological Society | title = Precipitation averages for large areas | volume = 39| bibcode = 1911MWRv...39R1082T | doi-access = free }} *{{cite journal | last=Voronoï | first=Georges | year=1908a | title=Nouvelles applications des paramètres continus à la théorie des formes quadratiques. Premier mémoire. Sur quelques propriétés des formes quadratiques positives parfaites. | journal=Journal für die Reine und Angewandte Mathematik | volume=1908 | issue=133 | pages=97–178 | doi=10.1515/crll.1908.133.97 | s2cid=116775758 | url=https://gdz.sub.uni-goettingen.de/download/pdf/PPN243919689_0133/LOG_0010.pdf }} *{{cite journal | last=Voronoï | first=Georges | year=1908b | title=Nouvelles applications des paramètres continus à la théorie des formes quadratiques. Deuxième mémoire. Recherches sur les parallélloèdres primitifs. | journal=Journal für die Reine und Angewandte Mathematik | volume=1908 | issue=134 | pages=198–287 | doi=10.1515/crll.1908.134.198 | s2cid=118441072 | url=https://gdz.sub.uni-goettingen.de/download/pdf/PPN243919689_0134/LOG_0014.pdf }} *{{Cite journal | last=Watson | first=David F. | title=Computing the ''n''-dimensional Delaunay tessellation with application to Voronoi polytopes | doi=10.1093/comjnl/24.2.167 | journal=[[The Computer Journal|Comput. J.]] | volume=24 | issue=2 | pages=167–172 | year=1981 | doi-access=free }} {{refend}} ==External links== {{Commons category|Voronoi diagrams}} * {{mathworld|id=VoronoiDiagram|urlname=Voronoi Diagrams}} * [http://www.cgal.org/Part/VoronoiDiagrams Voronoi Diagrams] in [[CGAL]], the Computational Geometry Algorithms Library * [https://www.researchgate.net/publication/372216656_Demo_program_for_SFTessellation_algorithm Demo program for SFTessellation algorithm, which creates Voronoi diagram using a Steppe Fire Model] {{Tessellation}} {{authority control}} {{DEFAULTSORT:Voronoi Diagram}} [[Category:Discrete geometry]] [[Category:Computational geometry]] [[Category:Eponymous diagrams]] [[Category:Eponymous geometric shapes]] [[Category:Ukrainian inventions]] [[Category:Russian inventions]] [[Category:Geographic information systems| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cbignore
(
edit
)
Template:Cite book
(
edit
)
Template:Cite conference
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Colend
(
edit
)
Template:Cols
(
edit
)
Template:Commons category
(
edit
)
Template:Harvnb
(
edit
)
Template:Mathworld
(
edit
)
Template:Multiple image
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:See also
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Tessellation
(
edit
)