NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: points in 3D space

Hi John,

> I want to show only data points in 3D space.  I have used the following
> code to do that:
>
> Irregular3DSet testset = new Irregular3DSet(xyz,testsamples);
>
>          DataReferenceImpl points_ref = new DataReferenceImpl("points_ref");
>          points_ref.setData((Set)testset);
>
>          ConstantMap[] pointsCMap = { new ConstantMap( 1.0f, Display.Red ),
>                               new ConstantMap( 0.0f, Display.Green ),
>                               new ConstantMap( 0.0f, Display.Blue ),
>                               new ConstantMap( 5.50f, Display.PointSize )  };
>
>          display.addReference( points_ref, pointsCMap );
>
> However, this method is very slow.  Is there another function or better
> method to accomplish this?

Here's a much faster way, if you only want to show points:

  RealType index = new RealType("index");
  FunctionType fxyz = new FunctionType(index, xyz);
  Integer1DSet set = new Integer1DSet(testsamples[0].length);
  FlatField field = new FlatField(fxyz, set);
  field.setSamples(testsamples);
  points_ref.setData(field);
  . . .

Since you are only showing points, the considerable time
to compute the Delaunay triangulation topology in the
Irregular3DSet constructor is not necessary.

Good luck,
Bill


  • 2002 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: