» Voronoi with Winged Edge information
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Voronoi with Winged Edge information

plugin delaunay voronoi
Credits: darrellp

about

This contribution consists of several nodes which expose the information in a winged edge representation of a voronoi diagram. The winged edge structure comes from a C# Voronoi DLL I wrote long ago which uses Fortune's algorithm. The details are somewhat unavoidably complex but I've done my best to explain most of them in the supplied sample patch. Allows for Lloyd relaxation and there's some other stuff which I will probably expose sometime such as an intersection routine for convex polygons. The information in the Winged Edge structure give access to pretty much anything concerning the diagram. The Delaunay triangulation is trivial to derive from it, individual cells and the points which make up their polygon are easily produced, adjacency relations for all cells, vertices and edges are all available. Hopefully this is at least understandable to the point that somebody out there can make use of it.

2/18/16: Put in help files, went to source versions for plugins, Added a pin to CellInfo for Index which gives the position of the cell's voronoi point in the original spread in to VoronoiComplex. This enables you to recognize, for instance, which original points are responsible for a given edge/cell/vertex. Changed category from 2d.voronoi to 2d.Voronoi. Maybe a few other small things which slip my mind.

2/19/16: Hopefully the last name changes:

  • Changed Location pin of VertexIinfo to Vector2D type and renamed to Position.
  • Pins for Points and Center on CellVertices changed to Vector2D type
  • Input Clipping Polygon to Lloyd Relaxation changed to Vector2D type
  • Helpfiles adjusted to accommodate these changes

2/21/16: Primary addition was indices on vertices and edges. This allows them to be compared for equality easily and also provides a potential index into spreads where information about them may be kept. The only thing guaranteed about the vertices is that each edge/vertex has one (including the infinite ones) and they run from 0 to (number of vertices/edges). See helpfile for VertexInfo for an idea on how to use them.

  • Added indices to vertices and edges.
  • Added an Index pin to VertexInfo and EdgeInfo to retrieve index

2/21/16: Found out that CellVertices was putting out vertices in the wrong order for some GPUs. Other GPUs don't care about order so I reversed the point order. Also, I was using precisely the wrong default for Inset - was 1.0 but should be 0.0 so changed that.

download

ValueVoronoiComplex.zip
22.02.16 [03:49 UTC] by darrellp | 625 downloads
Reversed point order in CellVertices and changed default for Inset
Show 3 older revisions

Older Revisions

ValueVoronoiComplex.zip
21.02.16 [10:51 UTC] by darrellp | 135 downloads
Added indices to edges and vertices
ValueVoronoiComplex.zip
20.02.16 [05:20 UTC] by darrellp | 143 downloads
Changed point spreads from double to Vector2D
VoronoiDiagram.zip
18.02.16 [16:40 UTC] by darrellp | 159 downloads
Capitalized Voronoi in 2d.Voronoi, added an out pin to CellInfo to indicate the index of the cell's center in the original sprea

lasal 16/02/2016 - 11:12

Finally someone did it.

sunep 18/02/2016 - 17:58

@darrellp I would recommend that you upload new versions as new versions, preferably with version numbers so it is possible to see which version it is that you have downloaded also with a comment so it is possible to see what is changed. like here for example: https://vvvv.org/contribution/project-templates

darrellp 18/02/2016 - 18:53

Thanks Sune. I've been putting change comments in the log section which I thought would be good enough, but I can't see any way of getting to the log comments so I guess that's no help. I'm not sure how to do versions. Next one I check in I'll try to do that correctly. I'll go ahead and modify the comments above to indicate changes from the last version. Good news - I think the node/pin names and contents are pretty stable at this point. A lot of roiling on these at the start after getting great comments from joreg.

sunep 18/02/2016 - 19:12

when editing, you just upload a new file and in the description of the new file, you write what is new about this new file.

I allowed myself to change the description to match what you wrote in the about part

EDIT: and then of course not delete the old files

EDIT2: Apparently I can't change your description, you need to do that

isdzaurov 19/02/2016 - 10:36

nice

colorsound 21/02/2016 - 13:25

great, very handy, thank you ¡¡

demondias 22/02/2016 - 12:04

Essentially, I want to use an image to create a voronoi cell structure within the image outline that will be suitable for using as a cutting diagram for a laser cutter to make stencils with. I am pretty new to VVVV so any help or assistance would be most appreciated.

D

tonfilm 26/02/2016 - 19:50

@demondias please start a forum thread with your question...

anonymous user login

Shoutbox

~3h ago

david: vvvv meetup 3. new stream link. again youtube made us nuts.. please send everybody to https://youtu.be/pa3HRQ7kj6w

~7h ago

joreg: Reminder: Join us this evening, 8pm CET for the 3rd worldwide #vvvv meetup: 3.-worldwide-vvvv-meetup

~12h ago

sinus: @evvvvil: very impressive stuff! keep on marching the rays!You´ll never walk alone!

~1d ago

evvvvil: @mediadog, thankx for pointing it out broski. Wicked.

~2d ago

domj: Catching up with the Midweek Patch Therapy excerpts, expect more videos over the week. https://youtu.be/36r8LnHaS7g

~3d ago

mediadog: @evvvvil hey you made the webgl-dev-list cool stuff list: http://gfxprose.blogspot.com/2020/05/cool-webgl-stuff-2020-05-21.html

~4d ago

evvvvil: Yo I'm live doing a VJ set made in vvvv for OUTLINE demoparty with OddJohn DJing! Come see us play here: https://www.twitch.tv/outlinedemoparty/

~6d ago

domj: A blast to read with great references. Thoughts on how to make programming more learnable and understandable. http://worrydream.com/LearnableProgramming/

~6d ago

gegenlicht: @evvvvil damn. - missed it. Such unique styles, others would create 1000 twitter loops from one of ur sessions. :3 #bobrossmarch

~6d ago

sebescudie: Vous voulez vous mettre à #vvvv ou vous connaissez quelqu'un qui aimerait? Je donne un webinaire en français! https://nodeforum.org/announcements/introduction-au-creative-coding-avec-vvvv-gamma/