You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
445 lines
14 KiB
445 lines
14 KiB
package require vtk
|
|
package require vtkinteraction
|
|
|
|
# Create the RenderWindow, Renderer and both Actors
|
|
#
|
|
vtkRenderer ren1
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren1
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
|
|
# create a soccer ball
|
|
#
|
|
vtkPoints points
|
|
# first point repeated because polygons were 1-offset
|
|
points InsertNextPoint 0.348012 0 0.93749
|
|
points InsertNextPoint 0.348012 0 0.93749
|
|
points InsertNextPoint 0.107542 0.330979 0.93749
|
|
points InsertNextPoint -0.281548 0.204556 0.93749
|
|
points InsertNextPoint -0.281548 -0.204556 0.93749
|
|
points InsertNextPoint 0.107542 -0.330979 0.93749
|
|
points InsertNextPoint 0.694318 0 0.719669
|
|
points InsertNextPoint 0.799191 -0.327801 0.502204
|
|
points InsertNextPoint 0.965027 -0.20654 0.154057
|
|
points InsertNextPoint 0.965027 0.20654 0.154057
|
|
points InsertNextPoint 0.799191 0.327801 0.502204
|
|
points InsertNextPoint 0.214556 0.660335 0.719669
|
|
points InsertNextPoint 0.558721 0.65878 0.502204
|
|
points InsertNextPoint 0.494641 0.853971 0.154057
|
|
points InsertNextPoint 0.101778 0.981619 0.154057
|
|
points InsertNextPoint -0.0647933 0.861372 0.502204
|
|
points InsertNextPoint -0.561715 0.40811 0.719669
|
|
points InsertNextPoint -0.453883 0.734949 0.502204
|
|
points InsertNextPoint -0.659322 0.734323 0.154057
|
|
points InsertNextPoint -0.902124 0.400134 0.154057
|
|
points InsertNextPoint -0.839236 0.204556 0.502204
|
|
points InsertNextPoint -0.561715 -0.40811 0.719669
|
|
points InsertNextPoint -0.839236 -0.204556 0.502204
|
|
points InsertNextPoint -0.902124 -0.400134 0.154057
|
|
points InsertNextPoint -0.659322 -0.734323 0.154057
|
|
points InsertNextPoint -0.453883 -0.734949 0.502204
|
|
points InsertNextPoint 0.214556 -0.660335 0.719669
|
|
points InsertNextPoint -0.0647933 -0.861372 0.502204
|
|
points InsertNextPoint 0.101778 -0.981619 0.154057
|
|
points InsertNextPoint 0.494641 -0.853971 0.154057
|
|
points InsertNextPoint 0.558721 -0.65878 0.502204
|
|
points InsertNextPoint 0.902124 0.400134 -0.154057
|
|
points InsertNextPoint 0.839236 0.204556 -0.502204
|
|
points InsertNextPoint 0.561715 0.40811 -0.719669
|
|
points InsertNextPoint 0.453883 0.734949 -0.502204
|
|
points InsertNextPoint 0.659322 0.734323 -0.154057
|
|
points InsertNextPoint -0.101778 0.981619 -0.154057
|
|
points InsertNextPoint 0.0647933 0.861372 -0.502204
|
|
points InsertNextPoint -0.214556 0.660335 -0.719669
|
|
points InsertNextPoint -0.558721 0.65878 -0.502204
|
|
points InsertNextPoint -0.494641 0.853971 -0.154057
|
|
points InsertNextPoint -0.965027 0.20654 -0.154057
|
|
points InsertNextPoint -0.799191 0.327801 -0.502204
|
|
points InsertNextPoint -0.694318 0 -0.719669
|
|
points InsertNextPoint -0.799191 -0.327801 -0.502204
|
|
points InsertNextPoint -0.965027 -0.20654 -0.154057
|
|
points InsertNextPoint -0.494641 -0.853971 -0.154057
|
|
points InsertNextPoint -0.558721 -0.65878 -0.502204
|
|
points InsertNextPoint -0.214556 -0.660335 -0.719669
|
|
points InsertNextPoint 0.0647933 -0.861372 -0.502204
|
|
points InsertNextPoint -0.101778 -0.981619 -0.154057
|
|
points InsertNextPoint 0.659322 -0.734323 -0.154057
|
|
points InsertNextPoint 0.453883 -0.734949 -0.502204
|
|
points InsertNextPoint 0.561715 -0.40811 -0.719669
|
|
points InsertNextPoint 0.839236 -0.204556 -0.502204
|
|
points InsertNextPoint 0.902124 -0.400134 -0.154057
|
|
points InsertNextPoint 0.281548 -0.204556 -0.93749
|
|
points InsertNextPoint -0.107542 -0.330979 -0.93749
|
|
points InsertNextPoint -0.348012 0 -0.93749
|
|
points InsertNextPoint -0.107542 0.330979 -0.93749
|
|
points InsertNextPoint 0.281548 0.204556 -0.93749
|
|
|
|
vtkCellArray faces
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 5
|
|
faces InsertCellPoint 4
|
|
faces InsertCellPoint 3
|
|
faces InsertCellPoint 2
|
|
faces InsertCellPoint 1
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 10
|
|
faces InsertCellPoint 9
|
|
faces InsertCellPoint 8
|
|
faces InsertCellPoint 7
|
|
faces InsertCellPoint 6
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 15
|
|
faces InsertCellPoint 14
|
|
faces InsertCellPoint 13
|
|
faces InsertCellPoint 12
|
|
faces InsertCellPoint 11
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 20
|
|
faces InsertCellPoint 19
|
|
faces InsertCellPoint 18
|
|
faces InsertCellPoint 17
|
|
faces InsertCellPoint 16
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 25
|
|
faces InsertCellPoint 24
|
|
faces InsertCellPoint 23
|
|
faces InsertCellPoint 22
|
|
faces InsertCellPoint 21
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 30
|
|
faces InsertCellPoint 29
|
|
faces InsertCellPoint 28
|
|
faces InsertCellPoint 27
|
|
faces InsertCellPoint 26
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 35
|
|
faces InsertCellPoint 34
|
|
faces InsertCellPoint 33
|
|
faces InsertCellPoint 32
|
|
faces InsertCellPoint 31
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 40
|
|
faces InsertCellPoint 39
|
|
faces InsertCellPoint 38
|
|
faces InsertCellPoint 37
|
|
faces InsertCellPoint 36
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 45
|
|
faces InsertCellPoint 44
|
|
faces InsertCellPoint 43
|
|
faces InsertCellPoint 42
|
|
faces InsertCellPoint 41
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 50
|
|
faces InsertCellPoint 49
|
|
faces InsertCellPoint 48
|
|
faces InsertCellPoint 47
|
|
faces InsertCellPoint 46
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 55
|
|
faces InsertCellPoint 54
|
|
faces InsertCellPoint 53
|
|
faces InsertCellPoint 52
|
|
faces InsertCellPoint 51
|
|
faces InsertNextCell 5
|
|
faces InsertCellPoint 60
|
|
faces InsertCellPoint 59
|
|
faces InsertCellPoint 58
|
|
faces InsertCellPoint 57
|
|
faces InsertCellPoint 56
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 2
|
|
faces InsertCellPoint 11
|
|
faces InsertCellPoint 12
|
|
faces InsertCellPoint 10
|
|
faces InsertCellPoint 6
|
|
faces InsertCellPoint 1
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 3
|
|
faces InsertCellPoint 16
|
|
faces InsertCellPoint 17
|
|
faces InsertCellPoint 15
|
|
faces InsertCellPoint 11
|
|
faces InsertCellPoint 2
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 4
|
|
faces InsertCellPoint 21
|
|
faces InsertCellPoint 22
|
|
faces InsertCellPoint 20
|
|
faces InsertCellPoint 16
|
|
faces InsertCellPoint 3
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 5
|
|
faces InsertCellPoint 26
|
|
faces InsertCellPoint 27
|
|
faces InsertCellPoint 25
|
|
faces InsertCellPoint 21
|
|
faces InsertCellPoint 4
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 1
|
|
faces InsertCellPoint 6
|
|
faces InsertCellPoint 7
|
|
faces InsertCellPoint 30
|
|
faces InsertCellPoint 26
|
|
faces InsertCellPoint 5
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 12
|
|
faces InsertCellPoint 13
|
|
faces InsertCellPoint 35
|
|
faces InsertCellPoint 31
|
|
faces InsertCellPoint 9
|
|
faces InsertCellPoint 10
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 17
|
|
faces InsertCellPoint 18
|
|
faces InsertCellPoint 40
|
|
faces InsertCellPoint 36
|
|
faces InsertCellPoint 14
|
|
faces InsertCellPoint 15
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 22
|
|
faces InsertCellPoint 23
|
|
faces InsertCellPoint 45
|
|
faces InsertCellPoint 41
|
|
faces InsertCellPoint 19
|
|
faces InsertCellPoint 20
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 27
|
|
faces InsertCellPoint 28
|
|
faces InsertCellPoint 50
|
|
faces InsertCellPoint 46
|
|
faces InsertCellPoint 24
|
|
faces InsertCellPoint 25
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 7
|
|
faces InsertCellPoint 8
|
|
faces InsertCellPoint 55
|
|
faces InsertCellPoint 51
|
|
faces InsertCellPoint 29
|
|
faces InsertCellPoint 30
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 9
|
|
faces InsertCellPoint 31
|
|
faces InsertCellPoint 32
|
|
faces InsertCellPoint 54
|
|
faces InsertCellPoint 55
|
|
faces InsertCellPoint 8
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 14
|
|
faces InsertCellPoint 36
|
|
faces InsertCellPoint 37
|
|
faces InsertCellPoint 34
|
|
faces InsertCellPoint 35
|
|
faces InsertCellPoint 13
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 19
|
|
faces InsertCellPoint 41
|
|
faces InsertCellPoint 42
|
|
faces InsertCellPoint 39
|
|
faces InsertCellPoint 40
|
|
faces InsertCellPoint 18
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 24
|
|
faces InsertCellPoint 46
|
|
faces InsertCellPoint 47
|
|
faces InsertCellPoint 44
|
|
faces InsertCellPoint 45
|
|
faces InsertCellPoint 23
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 29
|
|
faces InsertCellPoint 51
|
|
faces InsertCellPoint 52
|
|
faces InsertCellPoint 49
|
|
faces InsertCellPoint 50
|
|
faces InsertCellPoint 28
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 32
|
|
faces InsertCellPoint 33
|
|
faces InsertCellPoint 60
|
|
faces InsertCellPoint 56
|
|
faces InsertCellPoint 53
|
|
faces InsertCellPoint 54
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 37
|
|
faces InsertCellPoint 38
|
|
faces InsertCellPoint 59
|
|
faces InsertCellPoint 60
|
|
faces InsertCellPoint 33
|
|
faces InsertCellPoint 34
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 42
|
|
faces InsertCellPoint 43
|
|
faces InsertCellPoint 58
|
|
faces InsertCellPoint 59
|
|
faces InsertCellPoint 38
|
|
faces InsertCellPoint 39
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 47
|
|
faces InsertCellPoint 48
|
|
faces InsertCellPoint 57
|
|
faces InsertCellPoint 58
|
|
faces InsertCellPoint 43
|
|
faces InsertCellPoint 44
|
|
faces InsertNextCell 6
|
|
faces InsertCellPoint 52
|
|
faces InsertCellPoint 53
|
|
faces InsertCellPoint 56
|
|
faces InsertCellPoint 57
|
|
faces InsertCellPoint 48
|
|
faces InsertCellPoint 49
|
|
|
|
vtkFloatArray faceColors
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 1
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
faceColors InsertNextValue 2
|
|
|
|
vtkFloatArray vertexColors
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
vertexColors InsertNextValue 2
|
|
|
|
vtkPolyData model
|
|
model SetPolys faces
|
|
model SetPoints points
|
|
[model GetCellData] SetScalars faceColors
|
|
[model GetPointData] SetScalars vertexColors
|
|
|
|
vtkTextureMapToSphere ballTC
|
|
ballTC SetInput model
|
|
|
|
vtkLookupTable lut
|
|
lut SetNumberOfColors 3
|
|
lut Build
|
|
lut SetTableValue 0 0 0 0 0
|
|
lut SetTableValue 1 1 .3 .3 1
|
|
lut SetTableValue 2 .8 .8 .9 1
|
|
|
|
vtkDataSetMapper mapper
|
|
mapper SetInputConnection [ballTC GetOutputPort]
|
|
mapper SetScalarModeToUseCellData
|
|
mapper SetLookupTable lut
|
|
mapper SetScalarRange 0 2
|
|
|
|
vtkPNMReader earth
|
|
earth SetFileName "$VTK_DATA_ROOT/Data/earth.ppm"
|
|
|
|
vtkTexture texture
|
|
texture SetInputConnection [earth GetOutputPort]
|
|
|
|
vtkActor soccerBall
|
|
soccerBall SetMapper mapper
|
|
soccerBall SetTexture texture
|
|
|
|
# Add the actors to the renderer, set the background and size
|
|
#
|
|
ren1 AddActor soccerBall
|
|
ren1 SetBackground 0.1 0.2 0.4
|
|
renWin SetSize 300 300
|
|
[ren1 GetActiveCamera] SetPosition 4.19682 4.65178 6.23545
|
|
[ren1 GetActiveCamera] SetFocalPoint 0 0 0
|
|
[ren1 GetActiveCamera] SetViewAngle 21.4286
|
|
[ren1 GetActiveCamera] SetViewUp 0.451577 -0.833646 0.317981
|
|
|
|
# render the image
|
|
#
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
|
|
set cam1 [ren1 GetActiveCamera]
|
|
$cam1 Zoom 1.4
|
|
ren1 ResetCameraClippingRange
|
|
|
|
iren Initialize
|
|
|
|
# prevent the tk window from showing up then start the event loop
|
|
wm withdraw .
|
|
|
|
|
|
|