[vtkusers] vtkContourFilter creates dark triangles when rotating the iso-surface
Jichang-Startech
jichang at startechsoft.net
Sun Nov 14 02:14:22 EST 2004
Hi, All.
We modified the example Contour2D.tcl to make it display 3D contour surface only. It works fine, except some dark triangles appear around the OXY, OYZ, or OXZ plane when rotating the iso-surface.
Do we need to do more steps to prevent such unpleasant appearance? Is it a vtkContourFilter class problem or the vtkCamera problem?
Thank you for help in advance.
Jichang
See the image and our code bellow:
-----------------------------------------------------------------
--------------- tcl code ---------------------------------------------
#
# This example shows some normals of the surfaces could be in wrong
# direction, resulting dark triagles when rotating the iso-surface
# This example is made from modification of Contor2d.tcl.
#
package require vtk
package require vtkinteraction
# Quadric definition. This is a type of implicit function. Here the
# coefficients to the equations are set.
vtkQuadric quadric
quadric SetCoefficients .5 1 .2 0 .1 0 0 .2 0 0
# The vtkSampleFunction uses the quadric function and evaluates function
# value over a regular lattice (i.e., a volume).
vtkSampleFunction sample
sample SetSampleDimensions 64 64 30
sample SetImplicitFunction quadric
sample ComputeNormalsOn
# Here a single slice (i.e., image) is extracted from the volume. (Note: in
# actuality the VOI request causes the sample function to operate on just the
# slice.)
#vtkExtractVOI extract
# extract SetInput [sample GetOutput]
# extract SetVOI 0 29 0 29 15 15
# extract SetSampleRate 1 2 3
# The image is contoured to produce contour lines. Thirteen contour values
# ranging from (0,1.2) inclusive are produced.
vtkContourFilter contours
contours SetInput [sample GetOutput]
contours GenerateValues 5 0.3 0.8
# The contour lines are mapped to the graphics library.
vtkPolyDataMapper contMapper
contMapper SetInput [contours GetOutput]
contMapper SetScalarRange 0.0 1.2
vtkActor contActor
contActor SetMapper contMapper
# Create outline an outline of the sampled data.
#vtkOutlineFilter outline
# outline SetInput [sample GetOutput]
#vtkPolyDataMapper outlineMapper
# outlineMapper SetInput [outline GetOutput]
#vtkActor outlineActor
# outlineActor SetMapper outlineMapper
# eval [outlineActor GetProperty] SetColor 0 0 0
# Create the renderer, render window, and interactor.
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Set the background color to white. Associate the actors with the
# renderer.
ren1 SetBackground 1 1 1
ren1 AddActor contActor
# ren1 AddActor outlineActor
# Zoom in a little bit. Associate the Tk interactor popup with a user
# keypress-u (the UserEvent).
[ren1 GetActiveCamera] Zoom 1.5
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize;
# Don't show the root Tk window "."
wm withdraw .
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20041114/6506706f/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 12351 bytes
Desc: not available
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20041114/6506706f/attachment.jpeg>
More information about the vtkusers
mailing list