The tcl script renactors.tcl uses the Visualization Toolkit to render triangle files created from cross-section data using the Marching Cubes algorithm. Make Your Own Visible Woman describes how to use this script. The script is broken into several sections:
source vtkInt.tcl
proc mkname {a b} {return $a$b}
# proc to make actors
# create pipeline
proc MakeActor { name r g b} {
#
set FileName [eval mkname $name .vtk]
set reader [eval mkname $name PolyDataReader]
vtkPolyDataReader $reader
$reader SetFileName $FileName
set mapper [eval mkname $name PolyDataMapper]
vtkPolyDataMapper $mapper
$mapper SetInput [$reader GetOutput];
$mapper ScalarVisibilityOff;
$mapper ImmediateModeRenderingOn
set actor [ eval mkname $name Actor]
set backProp [eval mkname $name BackProperty]
vtkProperty $backProp
$backProp SetDiffuseColor $r $g $b
$backProp SetDiffuse .2
vtkActor $actor
$actor SetMapper $mapper
eval [$actor GetProperty] SetDiffuseColor $r $g $b
eval [$actor GetProperty] SetSpecularPower 50
eval [$actor GetProperty] SetSpecular .5
eval [$actor GetProperty] SetDiffuse .8
$actor SetBackfaceProperty $backProp
return $actor
}
# Now create the RenderWindow, Renderer and Interactor
#
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Add the actors to the renderer. $ren1 AddActor [eval MakeActor bone $ivory] $ren1 AddActor [eval MakeActor skin $flesh]
ren1 SetBackground 0.2 0.3 0.4;
renWin SetSize 450 450;
[ren1 GetActiveCamera] SetViewUp 0 -1 0;
[ren1 GetActiveCamera] Azimuth 180;
iren Initialize;
# render the image
#
iren SetUserMethod {wm deiconify .vtkInteract};
# prevent the tk window from showing up then start the event loop
wm withdraw .