[vtkusers] problem with constrained Delaunay2D triangulation

R T doctorart at hotmail.com
Mon Aug 12 19:51:34 EDT 2002


Hi Alexander,
I 've been just wondering why are u using
Delaunay triangulation?

If you use UnstructuredGrid instead of PolyData
and vtkDatasetMapper, you could just display
your lines and points

Have you tried SurfaceReconstructionFilter?
(if you need a surface to be reconstructed
and you know all of your points belong
to the surface you want)

Best,
Roma


>    Hi,
>
>I am experiencing some problems triangulating a set of
>points using Delaunay2D triangulation. The surface is
>a northern hemisphere cut by an arbitrary plane. The
>points that are triangulated are the union of points
>on a sphere (generated using something like Glyph) and
>  a set of boundary points (from the intersection of a
>sphere and a given plane). I am using Delaunay2D to
>triangulate this set of points using the following
>code:
>
>   // Read points from file
>   vtkPoints *points = vtkPoints::New();
>   fscanf( inhandle, "%d \n", &max );
>   xyz = ( double * )malloc( 3*max*sizeof( double ) );
>   for( i=0; i<max; i++ ){
>     fscanf( inhandle, "%f %f %f \n", &x,&y,&z );
>     xyz[3*i] = x;
>     xyz[3*i+1] = y;
>     xyz[3*i+2] = z;
>   }
>   for( i=0; i<max; i++ ){
>     points->InsertPoint( i, &xyz[3*i] );
>   }
>
>   // Specify constraints
>   npts=5;   // Varying this changes the surface
>appearance
>   vtkCellArray *line = vtkCellArray::New();
>     for( i=0; i<npts-1; i++ ){
>       line->InsertNextCell(2);
>       line->InsertCellPoint( pts[i] );
>       line->InsertCellPoint( pts[i+1] );
>     }
>
>   vtkPolyData *profile = vtkPolyData::New();
>     profile->SetPoints( points );
>     profile->SetLines( line );
>
>   vtkDelaunay2D *del = vtkDelaunay2D::New();
>     del->SetInput( profile );
>     del->SetSource( profile );
>     del->SetTolerance( 0.0 );
>     del->SetAlpha( 0.0 );
>     del->BoundingTriangulationOff();
>     del->Update();
>
>What I find wierd is that the surface appeareance
>changes depending on how many edges along the cut I
>specify as constraints. This problem appeared once for
>a particular case where the cutting plane slices a
>small part of hemisphere making a small angle with the
>equatorial plane. Depending on the number of specified
>edges I was getting either a correct surface or pieces
>of surface close to the polar cap.I also tried to
>change the scheme for generation surface points, but
>it did not change things.
>
>I am in a dire need for some advise. Does my code look
>Ok for this operation? Is it possible that I am
>encountering some vtkDelaunay bug? So far, I noticed
>this kind of problem only once among few dozen cases
>that I looked at. I would be glad to provide full code
>and data set which is resulting in this behavior.
>
>Any comments/advises would be greately appreciated.
>
>   - Alex Smondyrev.
>
>
>__________________________________________________
>Do You Yahoo!?
>HotJobs - Search Thousands of New Jobs
>http://www.hotjobs.com
>_______________________________________________
>This is the private VTK discussion list.
>Please keep messages on-topic. Check the FAQ at: 
><http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers




_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com




More information about the vtkusers mailing list