• Stars
    star
    411
  • Rank 105,247 (Top 3 %)
  • Language
    C#
  • License
    Other
  • Created over 7 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hull, Delaunay and Voronoi algorithms in Unity

Hull-Delaunay-Voronoi

This project shows how to calculate the Convex Hull, Delaunay triangulation or Voronoi diagram from a random set of points. The project is based of the MIConvex Hull code but I have restructured it a bit and extended the Delaunay and Voronoi parts.

The 3 concepts of Hull, Delaunay and Voronoi or all related. If you have a Convex Hull algorithm that will work for any dimension of space then you can use that to find the Delaunay triangulation using the 'lifting method'. From the Delaunay triangulation you can then find the Voronoi diagram as its the Delaunay's Dual Graph.

The code to calculate the convex hull may throw a exception. For example if a 2D hull tries to process a line that has two vertices in the same position or a 3D hull tries to process a triangle where all the points are co-planar (they form a line). These can not be processed so will result in a error. Randomizing the vertices order or adding a small amount of noise to the positions can solve this.

If you are interested in computational geometry or other triangulation algorithms you might what to check the CGALDotNet project out.

A Convex Hull from 2D points.

2D Convex Hull

A Convex Hull from 3D points.

3D Convex Hull

A Delaunay triangulation from 2D points.

2D Delaunay triangulation

A Voronoi diagram from 2D points.

2D Voronoi diagram

A Voronoi diagram from 3D points.

3D Voronoi diagram

More Repositories

1

Ceto

Ceto: Ocean system for Unity
C#
1,015
star
2

PBD-Fluid-in-Unity

A PBD fluid in unity running on the GPU
C#
724
star
3

Marching-Cubes

Marching cubes in Unity
C#
462
star
4

Terrain-Topology-Algorithms

Terrain topology algorithms in Unity
C#
430
star
5

Brunetons-Improved-Atmospheric-Scattering

A Unity port of Brunetons improved atmospheric scattering
HLSL
354
star
6

Position-Based-Dynamics

Position based dynamics in Unity
C#
299
star
7

Marching-Cubes-On-The-GPU

A implementation of the marching cubes algorithm on the GPU in Unity.
C#
291
star
8

GPU-GEMS-3D-Fluid-Simulation

3D fluid simulation on the in Unity
C#
278
star
9

Phillips-Ocean

A ocean using Phillips spectrum in Unity
C#
272
star
10

GPU-GEMS-2D-Fluid-Simulation

2D fluid simulation in Unity
C#
247
star
11

Mesh-Voxelization

Mesh voxelization in Unity
C#
231
star
12

CGALDotNet

C# wrapper for CGAL
C#
198
star
13

Interactive-Erosion

Interactive erosion in Unity
C#
170
star
14

2D-Deformable-body-in-Unity

A 2D Deformable body simulation in Unity using FEM
C#
142
star
15

Procedural-Noise

Simple examples of noise algorithms in Unity
C#
136
star
16

Brunetons-Ocean

Brunetons ocean in Unity
C#
127
star
17

Tiled-Directional-Flow

A shader to control the direction water flows based on a flow map in Unity.
ShaderLab
118
star
18

Proland-To-Unity

A port of Proland to Unity
C#
112
star
19

GPU-GEMS-Atmospheric-Scatter

Atmoshperic scatter in Unity
GLSL
73
star
20

AperiodicTexturing

A periodical texturing in Unity
C#
66
star
21

CGALDotNetUnity

CGALDotNet examples in Unity
C#
60
star
22

Brunetons-Atmospheric-Scatter

Brunetons procomputed atmospheric scatting in Unity
C#
55
star
23

GPU-Voronoi-Noise

GPU Voronoi noise in Unity
HLSL
48
star
24

CyclonePhysicsEngine

C# port of the Cylcone physics engine
C#
47
star
25

Wireframe-Shader

A wireframe material in Unity using the geometry shader.
ShaderLab
47
star
26

Simple-Procedural-Terrain

A simple example of how to create a Unity terrain from code using procedural noise.
C#
45
star
27

GPU-GEMS-NBody-Simulation

A NBody simulation in Unity
C#
43
star
28

GPU-GEMS-Improved-Perlin-Noise

Perlin noise on the GPU in Unity
GLSL
42
star
29

CGALDotNetGeometry

Geometry objects under MIT licence for CGALDotNet project
C#
28
star
30

ImageProcessing

A collection of code for processing images
C#
22
star
31

XAtlasDotNet

A c# wrapper around xatlas used to unwrap mesh uv’s.
C++
14
star
32

Common

Common code library
C#
9
star
33

OpenCLDotNet

A C# wrapper around OpenCL
C#
2
star