Construction of farthest-point Voronoi Diagram

From Wikipedia:

>a normal Voronoi cell is defined as the set of points closest to a single point in S,
an nth-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 can be generated recursively.
To generate the nth-order Voronoi diagram from set S,
start with the (n βˆ’ 1)th-order diagram and
replace each cell generated by X = {x1, x2, ..., xnβˆ’1} with a Voronoi diagram generated on the set S βˆ’ X.

>For a set of n points the (n βˆ’ 1)th-order Voronoi diagram is called a farthest-point Voronoi diagram.

Ok ... I don't get it.

The normal Voronoi diagram is "1st order" as its cells give us all points closest to a single site.
That's therefore our starting point.

Now let's say I have 5 sites.

That means the 4th-order diagram should be the "farthest-point diagram"...

So let's construct the 2nd order ... pretend one site isn't there, regenerate the Voronoi diagram.d
3rd order, pretend another point is also not there, regenerate the voronoi diagram.
4th order, pretend yet another point is also not there, regenerate the voronoi diagram...

we end up with a single line more or less arbitrarily subdividing space depending on which sites we chose to ignore.

That can't be it because that's completely useless.

How DO you construct the "farthest-point" voronoi diagram?

πŸ‘︎ 12
πŸ’¬︎
πŸ‘€︎ u/User1291
πŸ“…︎ Jun 24 2021
🚨︎ report
[p5.js] WIP. Gravity, repulsion, Delaunay triangulation, Voronoi diagram, Chaikin smoothing, many happy accidents.
πŸ‘︎ 211
πŸ’¬︎
πŸ‘€︎ u/BennyPendentes
πŸ“…︎ May 23 2021
🚨︎ report
Voronoi Diagram assistance with Mouseover Event

Hey All,

So I've been stuck on this problem for awhile now and could really use someone's help on this. Constructing the Voronoi Diagram itself was not that difficult (healthy based off , however, when trying to apply an event such as a mouseover to generate a gradient random color. I am not sure where to put these two functions:

gradient functions :

context.createRadialGradient(x0, y0, r0, x1, y1, r1)

while the hover function (in a more general sense):

d3.selection.on(type[, listener[, capture]]);

Would it be best to use a nested function to achieve what I am trying to get? Does anyone know where I would put these functions at with respect to the Voronoi Diagram? Javascript is not my first, second, or even my third language. If anyone could help solve this problem I would be eternally grateful.

πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/LittleRedHelper
πŸ“…︎ Jun 28 2021
🚨︎ report
Voronoi diagrams growing youtube.com/watch?v=pkJlK…
πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/RandomContents
πŸ“…︎ Jun 19 2021
🚨︎ report
Transforming a Voronoi-diagram into a geometric object for structural FEA

Hello again wonderful community...

I'm using Matlab to make a 3d structural FE-analisys of a piece of metal. Now, my idea was to play with an Nx3 matrix of points, each one of those points standing for a singular grain, then using Delaunay and Voronoi generate the cells/grains around the points.
I'm having hard times in creating the above mentioned cells (polyhedrons) and making the whole structure result as a 'geometrical object' for then to be meshed and manipulated in Matlab. Can someone give me advises or tips?

To be more clear: my main issue is how to transform the voronoi diagram (from Nx3 seed points) in a viable 3d geometrical object that preserves the identity of its internal structure.

My aim is to then mesh this geometry and perform structural simulations on it.

I tried out many things, many add-ons from the FileExchange, but still nothing worked properly. Maybe to get the geometrical object there's just a clever way of using alphaShape but I didn't find out.

πŸ‘︎ 7
πŸ’¬︎
πŸ‘€︎ u/The_Lone_Errant
πŸ“…︎ Jun 05 2021
🚨︎ report
I love Voronoi Diagrams
πŸ‘︎ 44
πŸ’¬︎
πŸ“…︎ May 05 2021
🚨︎ report
Dividing the Indian Ocean (and a small bit of the Southern Ocean) with Voronoi diagram
πŸ‘︎ 53
πŸ’¬︎
πŸ‘€︎ u/tomydenger
πŸ“…︎ Mar 30 2021
🚨︎ report
I created a procedural city map generator based on Voronoi diagram I made earlier v.redd.it/uv8kuevv3o361
πŸ‘︎ 1k
πŸ’¬︎
πŸ‘€︎ u/Klecris
πŸ“…︎ Dec 07 2020
🚨︎ report
Voronoi Diagram Images reddit.com/gallery/mub27i
πŸ‘︎ 7
πŸ’¬︎
πŸ‘€︎ u/Goober329
πŸ“…︎ Apr 19 2021
🚨︎ report
Voronoi Diagram | VORONOI ARCHITECTURE | VORONOI IN NATURE | VORONOI PATTERNS | EDU-ARCHS youtube.com/watch?v=kpzAe…
πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/Edu-Archs
πŸ“…︎ May 30 2021
🚨︎ report
Voronoi Diagram with pyopengl and pygame youtu.be/2P1BOocLM4Q
πŸ‘︎ 15
πŸ’¬︎
πŸ‘€︎ u/auctux
πŸ“…︎ May 03 2021
🚨︎ report
devising the Caribbean sea, and the Golf of Mexico, by countries, by using Voronoi diagram and coastlines reddit.com/gallery/mbld3v
πŸ‘︎ 27
πŸ’¬︎
πŸ‘€︎ u/tomydenger
πŸ“…︎ Mar 23 2021
🚨︎ report
Voronoi diagram updating dymamically observablehq.com/@d3/voro…
πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/kaielvin
πŸ“…︎ May 17 2021
🚨︎ report
Foronoi, a package for for constructing Voronoi diagrams.

The construction and visualization of a Voronoi diagram with a triangle as bounding box by the Foronoi package

Hi everyone,

I created Foronoi, which is a Python package based on a sweep-line algorithm (Fortune's algorithm) that scans top-down over the cell points while constructing the Voronoi diagram.

How it works

Every time a new cell point is scanned, a corresponding parabola (arc) is added. The intersections of this arc with other arcs are so-called "breakpoints". These breakpoints trace out the borders between two cell points. At the same time when an arc is added, a check is done to see if this arc will converge with the two arcs on the left or the arcs on the right. If that’s the case, it will insert a so-called circle-event which causes a new vertex (i.e. a cross-way between edges) to be created in the middle of the circle.

If you would like to play around with a simple toy example to get a better understanding, I recommend visiting this this webpage.

Features

This package offers extra features such as visualization, cell area size calculation, using a polygon as bounding box, observers to monitor and visualize the state of the algorithm, and many other properties to make it more practical to use in practice.

Links

πŸ‘︎ 8
πŸ’¬︎
πŸ‘€︎ u/Yatoom
πŸ“…︎ Apr 08 2021
🚨︎ report
Voronoi Diagrams - Generative Garden youtu.be/mEyWZmIBSqU
πŸ‘︎ 9
πŸ’¬︎
πŸ‘€︎ u/Hopenager
πŸ“…︎ Apr 07 2021
🚨︎ report
[OC] This one is the first of a series based on Voronoi Diagrams. It's a visual representation of the regions that share a common nearest point imgur.com/c9AXPMk
πŸ‘︎ 20
πŸ’¬︎
πŸ‘€︎ u/sqrtofpi314
πŸ“…︎ Mar 29 2021
🚨︎ report
3rd in a Series on Math Based Art. These are constructed from Voronoi Diagrams. More details in the comments! imgur.com/sgVzQGJ
πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/sqrtofpi314
πŸ“…︎ Mar 31 2021
🚨︎ report
3rd in a Series on Math Based Art. These are constructed from Voronoi Diagrams. More details in the comments! imgur.com/sgVzQGJ
πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/sqrtofpi314
πŸ“…︎ Apr 01 2021
🚨︎ report
3rd in a Series on Math Based Art. These are constructed from Voronoi Diagrams. More details in the comments! imgur.com/sgVzQGJ
πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/sqrtofpi314
πŸ“…︎ Mar 31 2021
🚨︎ report
3rd in a Series on Math Based Art. These are constructed from Voronoi Diagrams. More details in the comments! imgur.com/sgVzQGJ
πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/sqrtofpi314
πŸ“…︎ Mar 31 2021
🚨︎ report
Yet another headphones hanger... Designed to look like "slimy organic". It took quite a while to understand how to leverage 3D Voronoi diagrams, but the result looks fine. Also far from perfect print, but enough for my personal use! reddit.com/gallery/klvi0m
πŸ‘︎ 28
πŸ’¬︎
πŸ‘€︎ u/mbrami
πŸ“…︎ Dec 28 2020
🚨︎ report
Map of Brazil but state's borders are defined by the closest state capitals (Voronoi diagram)
πŸ‘︎ 78
πŸ’¬︎
πŸ‘€︎ u/MattHazelnut
πŸ“…︎ Dec 02 2020
🚨︎ report
[2020 Day 24 Part 2]Plotting a Voronoi-Diagram for the tiles of floor that my algorithm considers makes it look like some weird organism growing
πŸ‘︎ 49
πŸ’¬︎
πŸ‘€︎ u/TommiHPunkt
πŸ“…︎ Dec 24 2020
🚨︎ report
[OC] Voronoi diagram of Costcos in the DC area
πŸ‘︎ 226
πŸ’¬︎
πŸ‘€︎ u/T1m_Burr
πŸ“…︎ Sep 23 2020
🚨︎ report
Voronoi diagram of every world capital [Repost]
πŸ‘︎ 34
πŸ’¬︎
πŸ‘€︎ u/tomydenger
πŸ“…︎ Dec 02 2020
🚨︎ report
UE4Niagara music video experiment / voronoi diagrams youtu.be/jtU4sIMwd7E
πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/art_hiteca
πŸ“…︎ Jan 07 2021
🚨︎ report
I found a Santa hat in the Voronoi diagrams of Alex Bellos Patterns of the Universe. Happy Holidays!
πŸ‘︎ 7
πŸ’¬︎
πŸ‘€︎ u/clapclapsnort
πŸ“…︎ Dec 25 2020
🚨︎ report
2D Destructible Object With Voronoi Diagram

i finally made it for my next game. I used u/hiulit's (https://github.com/hiulit/Delaunator-GDScript library and godot Geometry singleton. I know there is delaunay trianglation in godot but i could'nt make it create voronoi diagrams with it. There is no interaction between kinematicbody and rigidbody, no impulse and gravity too. (in video but it's easy to configure)

Basicly, i'm create voronoi diagrams and cut it with intersect_polygons2d for boundaries of actual shape then creating a rigidbody for each voronoi_cell.

I'm not a good coder, maybe someone can do it with custom shapes. (now only for rectangles)

https://reddit.com/link/k1y24d/video/xkqn45d24r161/player

https://reddit.com/link/k1y24d/video/cr8onjx54r161/player

πŸ‘︎ 12
πŸ’¬︎
πŸ‘€︎ u/foedis
πŸ“…︎ Nov 27 2020
🚨︎ report
A Voronoi diagram of the Austrian States and a map with realistic borders based on that
πŸ‘︎ 293
πŸ’¬︎
πŸ‘€︎ u/suratsogan
πŸ“…︎ May 17 2020
🚨︎ report
This is how PC should look (Voronoi Diagram with 5 points)
πŸ‘︎ 15
πŸ’¬︎
πŸ‘€︎ u/odones
πŸ“…︎ Aug 22 2020
🚨︎ report
Inspired by a post on r/NBA - A Voronoi diagram of which NHL team is closest to you!
πŸ‘︎ 443
πŸ’¬︎
πŸ‘€︎ u/pr1va7e
πŸ“…︎ Jan 15 2020
🚨︎ report
Procedural map (voronoi diagram + vertex blending shader) reddit.com/gallery/jf7f9l
πŸ‘︎ 16
πŸ’¬︎
πŸ‘€︎ u/lysohora
πŸ“…︎ Oct 21 2020
🚨︎ report
Voronoi Diagram of season 2 civs.
πŸ‘︎ 61
πŸ’¬︎
πŸ‘€︎ u/RanseStoddard
πŸ“…︎ Apr 27 2020
🚨︎ report
An algorithm to generate Voronoi diagrams and Delaunay triangulations. reddit.com/gallery/kc9qus
πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/moPsych
πŸ“…︎ Dec 13 2020
🚨︎ report
A map of Europe based on a Voronoi diagram of the capital cities
πŸ‘︎ 196
πŸ’¬︎
πŸ‘€︎ u/suratsogan
πŸ“…︎ Apr 24 2020
🚨︎ report
Voronoi-diagram ΓΆver Sveriges Landskap
πŸ‘︎ 26
πŸ’¬︎
πŸ‘€︎ u/npubem
πŸ“…︎ Jul 26 2020
🚨︎ report
Voronoi Diagram of Brasil and the map based on it
πŸ‘︎ 60
πŸ’¬︎
πŸ‘€︎ u/suratsogan
πŸ“…︎ May 18 2020
🚨︎ report
Introducing Voronator, A Voronoi Diagram and Delaunay Triangulation library

Hello Rustaceans,

I would like to introduce to you Voronator, a Voronoi Diagram and Delaunay Triangulation library!

Voronator was based on the awesome d3-delaunay, part of the Javascript D3 visualization framework, and Delaunautor, a Javascript implementation of the Delaunay Triangulation by Mapbox. Many of you should be familiar with these two libraries, and I encourage you to read their respective READMEs for more details on them!

There are a few differences between my implementation and theirs:

  • Both the triangulation and the Voronoi diagram are static. That means that currently there is no out-of-the box support for relaxation or modification of the original input. For that you must create a new Diagram/Triangulation
  • Currently I use an internal 2D point representation (delaunator::Point) for all operations. Inputs for the triangulation can be a flat array of 2*n elements, where n is the number of points, n tuples of type (f64, f64) or an array of delaunator::Point. For Voronoi diagrams, only the tuple and the delaunator::Point inputs are currently supported.
  • For both flat array input and tuple input a delaunator::Point array is returned to be used for queries to facilitate operations.
  • The Delaunator port is quite faster than Javascript version, but a bit (a couple %) slower than the C++ version. I still got to profile the code and find where the slowdown is happening. There are benchmarks included, but at the time of writing this post I didn't have any results ready as they take quite a while to finish.

I'm sure I forgot other points in which they differ, but these are the ones that come to mind. Please let me know if you find more operational differences so I can update this list.

Lastly, I also implemented a Centroidal tesselation based on Red Blob Games, which is a variant on Voronoi diagram that use centroids instead of circuncenters to calculate the vertices for each cell of the diagram. It does not work with the clipping algorithm that I am using for vanilla Voronoi, so the output is not neatly snapped to the borders. If you have any idea on how to solve this particular issue, please feel free to either send me a pull-request or to open a discussion on the Github issues!

As a last note, there i

... keep reading on reddit ➑

πŸ‘︎ 64
πŸ’¬︎
πŸ‘€︎ u/slenderman011
πŸ“…︎ Jul 01 2020
🚨︎ report
Voronoi diagram or similar for a 2d tile game

Hi everyone!

Recently I've been developing a 2d procedural generated side scroller game. Currently, I have a function GetBiome(Vector2 pos) that currently is hard-coded and returns a certain biome if the x coordinate is greater than / less than a certain x coordinate. I find that determining whether a noise function returns > 0.2 or > 0.8 to determine the biome (for example, if the noise returns > 0.2 make it desert, greater than 0.8 have it be ocean) results in strips of very small biomes. Thus, I would like to partition my world into rectangles, with each rectangle corresponding to a specific biome name. From what I've seen, voronoi diagrams divide the world up into different odd shapes that have different colors that correspond to different biomes. Is there any sort of noise I can use to partition my world into different rectangles that have specific biomes? I know I need to use a cell diagram, but I see most people are using voronoi for 3d games or 2d top down games (rather than side scrollers.) Thank you for your help in advance!

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/ComputerCraft32
πŸ“…︎ Nov 03 2020
🚨︎ report
Contiguous and unique regions on a grid with Voronoi diagrams

I'm working on tile-based grids for TRPG maps, and exploring ways to build contiguous regions in them. I'm in GMS v1.4.9999.

Ideally I'd have a way to generate grids of modular size, with inputs to modulate region size, too. The kicker is that I want to store data about each generated region as ds_maps in a ds_list, so I'll have to have a way of giving each region (and all tiles in it) a unique identifying number.

Here's a visual demonstration of the kind of thing I'm aiming for:

https://cdn.discordapp.com/attachments/461303803933622273/581277390093811715/gridgen.png

... and a mockup of how I am hoping that can be implemented (regions delineated by grey separators):

https://pbs.twimg.com/media/EgrUiKyXkAk3gpW?format=png

The first thing I tried was to co-opt my existing A*-esque movement range scripts and noise generators to let place objects acting as the centre of regions, and then see how far out they can go. This made sense to me, because each region probably does need a kind of "core" tile, so the pathfinding running from there seemed reasonable.

At first blush, it sometimes seems okay:

https://media.discordapp.net/attachments/461303803933622273/581565824247136273/genregionsnooverlap.png

... But actually, there's no way here to guarantee regions remain contiguous, so sometimes it worked out like this:

https://media.discordapp.net/attachments/461303803933622273/581561595444854787/regionhuge.png

This won't work.

The system I'm working on at the moment uses Voronoi diagrams to generate regions (image not my own):

https://thatsmaths.files.wordpress.com/2017/02/voronoi-diagram.jpg?w=557&h=388

I picked up this code from a really helpful gmlscripts.com submission you can view here:

https://www.gmlscripts.com/forums/viewtopic.php?id=1888

// vor_create_from_object(obj,x,y,w,h,maxdist,precision)
// Creates a voronoi diagram using all instances of the object obj and their positions
// within the region x,y,width,he
... keep reading on reddit ➑

πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/KROMMOK
πŸ“…︎ Aug 30 2020
🚨︎ report

Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.