Re: Delaunay and Java3D

Hi Desiree,

> I am developing an Java3D Application, where I want to create a
> terrain-surface from discrete Points. I have seen that the API from VisAD
> includes some classes about Delaunay-Triangulation, but I do not have a
> clue, how to use them, or if they can be helpful for me. Where can I find
> more documentation, as in the API or even some examples?
> Thanks for any help in advance.

Assume that the locations of your points are defined in two
arrays:

  float[] x_locations, y_locations;

and the terrain heights at these points are defined in the
array:

  float[] heights;

Then you can create a terrain as a FlatField like this:

  RealType x = RealType.getRealType("x");
  RealType y = RealType.getRealType("y");
  RealType height = RealType.getRealType("height");
  RealTupleType xy = new RealTupleType(x, y);
  FunctionType terrain_type = new FunctionType(xy, height);

  Irregular2DSet set
    new Irregular2DSet(xy, new float[][] {x_locations, y_locations});
  FlatField terrain = new FlatField(terrain_type, set);
  terrain.setSamples(new float[][] {heights});

Note that the 'new Irregular2DSet' constructor will implicitly
invoke one of the Delaunay constructors to compute a topology
for your x and y locations.  You generally only need to invoke
a Delaunay constructor explicitly when you are constructing a
DealaunayCustom from a known topology.

Please let me know if you have questions about this.

Cheers,
Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
hibbard@xxxxxxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html