[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