Bill This works fine--thanks very much Donna Hi Donna, > I am just getting started using VisAD and what I would like to do is to > create a surface representation (triangles) of a set of *3D* points. Is > there a straightforward way to do this? It seems that the Delaunay methods > are going to want to create a tetrahedralization for me instead. I expect > my 3D points to define a gently sloping surface in 3D (something like a > topographic landscape). Are there any examples of doing this? If one of your coordinates is a function of the other two, say Z values depend on X and Y values, then construct an array float[number_of_points] consisting of the X and Y values and pass it to the constructor: DelaunayWatson delan = new DelaunayWatson(float samples); Then construct an array float[number_of_points] consisting of the X, Y and Z values and pass it to the constructor: Irregular3DSet set = new Irregular3DSet(type, samples, coord_sys, units, errors, delan); Note coord_sys, units and errors can all be null, and type is a RealTupleType "(x, y, z)". This will construct a set of triangles in 3-D. If there is no dependency of one coordinate as a function of the other two, then you need to define your own triangle topology as a DelaunayCustom.