[vtk-developers] vtkDataSetSurfaceFilter and Quadratic Cells

John Platt jcplatt at lineone.net
Tue Apr 5 12:44:00 EDT 2005


Hi,
 
In March, Mathieu raised the problem of the preferred direction in the
triangulation of quadratic quads. Attached is an example of the effects
that can be obtained. All the bands should be parallel as shown on the
rhs and not broken as on the lhs. These artifacts arise due to the
triangulation of quadratic quads into 6 triangles as either -
 
        o--o--o       o--o--o 
        | / \ |       | /|\ |
        |/   \|       |/ | \|
        o-----o  or   o  |  o  
        |\   /|       |\ | /|
        | \ / |       | \|/ |
        o--o--o       o--o--o
 
Two options were suggested:
 
1. Support up to 9 points as the internal entry of the hash in the 
vtkDataSetSurfaceFilter
 
or
 
2. Remove support of quad cells from vtkDataSetSurfaceFilter. Thus user 
will have to use vtkDataSetTriangleFilter first before using the 
vtkDataSetSurfaceMapper.
 

Mathieu's preference was for option 2.

 

>From my perspective, I want to get from a heterogeneous (1-D, 2-D & 3-D
cells) vtkUnstructuredGrid to vtkPolyDataMapper with the least amount of
memory usage. Introducing vtkDataSetTriangleFilter would give me a big
memory hit with a duplicated vtkPoints and a much bigger cell list. Of
course, the faces could first be extracted as vtkUnstructuredGrid
without any triangulation (new filter vtkUnstructuredGridSurfaceFilter)
and then passed through vtkDataSetTriangleFilter but again there is
duplication of data. So for large problems and ease of use, I would go
for option 1.

 

I was wondering whether it would be possible to subdivide the quadratic
quad into 4 linear quads (instead of triangles) or for
vtkQuadraticQuad::Triangulate() to offer the symmetric schemes -

 

        o--o--o       o--o--o 
        | /|\ |       |\ | /|
        |/ | \|       | \|/ |
        o--o--o  or   o--o--o  
        |\ | /|       | /|\ |
        | \|/ |       |/ | \|
        o--o--o       o--o--o

 

Both alternatives introduce the complication of the additional point and
interpolation of point data.

 

I am volunteering to have a go at resolving this problem or test/finish
any work that may have already started. What I would like to know is
which (if any) of the schemes is likely to be most acceptable. I may
also be behind the times since I am working with version 4.5. 

 

Thanks for your time.

 

John.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20050405/7546033f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: QuadraticTriangulation.png
Type: image/png
Size: 11602 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20050405/7546033f/attachment-0001.png>


More information about the vtk-developers mailing list