All software available here is written and copyright by Dennis Goehlsdorf unless stated otherwise in the code headers. Please feel free to use it, but please also acknowledge the code's origins.
(work in progress)
A JAVA package to generate dynamic Delaunay triangulations in 3D. The package is very robust and allows dynamic insertion, movement and deletion of vertices. Each vertex can easily be associated with a user object. Currently, there is no documentation available, just a few words about usage (this is a 3D Delaunay package, hence the positions should be given as 3-element arrays of doubles):
Start by instantiating an object of the class SpaceNode<T>, where T is the user object you want to associate with it. (public SpaceNode(double position, T content)). This will be the first vertex in your simulation. (Let's call it A)
new nodes to the simulation by using the function
public SpatialOrganizationNode<T> getNewInstance(double position, T userObject) on any node that is already part of the triangulation, i.e. A.getNewInstance(). A PositionNotAllowedException will be thrown if you're trying to place a node at the exact same place as another node in the triangulation.
SpaceNode implements the interface SpatialOrganizationNode. Look at the interface to find out about more functions of the triangulation, like moving vertices (SpaceNode.moveFrom(double delta) - “delta” is the movement vector) or removing vertices.
Contact the author if you find bugs or have any problems (you'll find the email-address under http://www.ini.phys.ethz.ch/people/dennis) or wait for updates.