In
Points clouds that will be triangulated
Vtx
Endpoints of the output Edges
Edges
Edges associated with the output Vtxs
★ See Example Project @ EdgesAndGraphs/PCGEx_Graph_Voronoi-2D
Related
Table of content
This node creates a 2D Voronoi diagram from the input points. If you’d like to know more about Voronoi intrinsic properties, check out the Wikipedia article!
Properties
Property | Description |
---|---|
Settings | |
Method | Defines how the position of the Voronoi site is computed. See below for more infos. |
Expand Bounds | Value added on each axis of the initial input points bounds, used for maths & processes involving bounds. |
Prune Out of Bounds | Depending on the selected method, the diagram will produce out-of-bounds points (up to ±inf). Enabling this option lets you remove those points from the output. |
Hull Attribute NameBoolean
| If enabled, will flag output Vtx points that lie on the convex hull of the underlying Delaunay diagram.Note that this is not the exact hull, but rather an approximation. |
Mark Edge on Touch | If enabled, edges that have at least a point on the Hull as marked as being on the hull; as opposed to only be marked as hull edges if both endpoints are on the hull. |
Note that enabling
Prune Out of Bounds
points has a theorical risk of creating more than one finite cluster as a result.
Voronoi site position
Mode | |
---|---|
Centroid Uses the centroid of the Delaunay site. While more visually pleasing, some concave sites may appear depending on the initial topology. | |
Canon (Circumcenter) Uses the circumcenter of the Delaunay triangle. This is the true voronoi algorithm, it guarantees only convex sites. | |
Centroid Uses the centroid of the Delaunay site for the point that are outside the bounds, otherwise use circumcenters. Best of both worlds, or worst of both worlds; depending on how you look at it. |
Projection Settings
Property | Description |
---|---|
Target Distance | Target Distance reference.. Whether to consider point bounds, and if so, how. |
Fuse Method | Lets you choose the method for finding neighbors & collocated points |
Voxel Grid Offset | Offset the voxelized grid by an constant amount. By default the center of the grid is 0,0,0, which may look like an undersirable offset. That offset can be manually compensated using this parameter. |
Inline Insertion |
Using the Octree fuse method is not deterministic by default. Enabling inlined insertion will make it so, at the cost of speed. |
Source Distance | Source Distance reference. Whether to consider point bounds, and if so, how. |
Tolerance | |
Component Wise Tolerance | If enabled, lets you set individual tolerance in world space for each X , Y and Z axis. |
Tolerance | Uniform tolerance. This represent the radius within which elements will be considered in fuse range. |
Tolerances | If enabled, represent individual axis’ radius within which elements will be considered in fuse range. |
Local Tolerance | If enabled, lets your use per-point tolerance value. NOT IMPLEMENTED |
Property | Description |
---|---|
Enable Self Intersection | If enabled, a cluster will test if intersection exists against itself. Otherwise, only check against other clusters. |
Fuse Details | |
Source Distance | Source Distance reference. Whether to consider point bounds, and if so, how. |
Component Wise Tolerance | If enabled, lets you set individual tolerance in world space for each X , Y and Z axis. |
Tolerance | Uniform tolerance. This represent the radius within which elements will be considered in fuse range. |
Tolerances | If enabled, represent individual axis’ radius within which elements will be considered in fuse range. |
Local Tolerance | If enabled, lets your use per-point tolerance value. NOT IMPLEMENTED |
Outputs | |
Snap on Edge | If enabled, snap the intersection position onto the original edge, as opposed to the reverse. |
Intersector Attribute Namebool
| If enabled, flag the points that intersected with an edge. |
The projection settings control how the point position is translated to a 2D space before the graph is computed; and how this projection will translate back to the original space, if relevant.
Property | Description |
---|---|
Projection Normal | Normal vector of the plane used for projection. By default, the projection plan normal is Up ; so the graph is computed over the X Y plane. |
Local Projection Normal | If enabled, uses a per-point projection vector. |
Local Normal | Attribute ti read normal from, |
Local projection normal is very powerful but can also be very clunky to use – it’s very easy to end up with singularities that will prevent the graph from being properly computed.