Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
CS530 - Spring 2020
Introduction to Scientific Visualization
LectureJanuary 16, 2020
3
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
The Visualization ToolkitOpen source library for
Visualization: Mostly sciviz, some infoviz Computer Graphics Imaging
Written in C++Supports Python (via wrapper)
2
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
OutlineVisualization pipelineInternal data representationExamples
3
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Object-Oriented DesignOO visualization systemObject models properties of entityState: Attributes (variables) Behavior: Operations (methods)
Inheritance: derive object from anotherAdd properties Overload (specialize) methods Base / derived class (abstract class)
4
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
OutlineVisualization pipelineInternal data representationExamples
5
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization Pipeline
6
0 Jo!WUL-!wjtvbmj{bujpot!bsf!dsfbufe!cz!qjqfmjoft;
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization Pipeline
7
Source
0 Uif!tpvsdf!jnqpsut!)gspn!gjmf*!ps!dsfbuft!)f/h/-!gvodujpo*!uif!ebub
0 Jo!WUL-!wjtvbmj{bujpot!bsf!dsfbufe!cz!qjqfmjoft;
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization Pipeline
8
Source
Filter(s)
0 Pof!ps!npsf!gjmufst!qspdftt!uif!ebub!up!dsfbuf!hfpnfusjd!pckfdut
0 Jo!WUL-!wjtvbmj{bujpot!bsf!dsfbufe!cz!qjqfmjoft;
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization Pipeline
9
Source
Filter(s)
Mapper0 Uif!nbqqfs!dpowfsut!hfpnfusz!up!hsbqijdbm!qsjnjujwft!
0 Jo!WUL-!wjtvbmj{bujpot!bsf!dsfbufe!cz!qjqfmjoft;
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization Pipeline
10
Source
Filter(s)
Mapper
Actor
0 Uif!bdups!qptjujpot!uif!qsjnjujwft!jo!uif!tdfof!boe!dpouspmt!uifjs!bqqfbsbodf
0 Jo!WUL-!wjtvbmj{bujpot!bsf!dsfbufe!cz!qjqfmjoft;
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization Pipeline
11
Source
Filter(s)
Mapper
Actor
Renderer
0 Uif!sfoefsfs!dpouspmt!uif!dbnfsb!boe!uif!mjhiujoh
0 Jo!WUL-!wjtvbmj{bujpot!bsf!dsfbufe!cz!qjqfmjoft;
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization Pipeline
12
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
0 Uif!sfoefs!xjoepx!ejtqmbzt!uif!sftvmu!po!uif!tdsffo!boe!tfut!uif!sftpmvujpo
0 Jo!WUL-!wjtvbmj{bujpot!bsf!dsfbufe!cz!qjqfmjoft;
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 13
Filter(s)
Mapper
Actor
Renderer
Render Window
SourceSfbe!ebub!gspn!gjmf
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 14
Mapper
Actor
Renderer
Render Window
Filter(s)
SourceDsfbuf!b!wjtvbmj{bujpo!gjmufs!boe!tfut!jut!qbsbnfufs
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 15
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
Bqqmz!wjtvbmj{bujpo!gjmufs!up!pvs!ebub
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 15
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
Bqqmz!wjtvbmj{bujpo!gjmufs!up!pvs!ebub
VTK pipeline connection syntax:(1) Receiver.SetInputConnection(Supplier.GetOutputPort())
(2) Receiver.SetInputData(Supplier.GetOutput())
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 15
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
Bqqmz!wjtvbmj{bujpo!gjmufs!up!pvs!ebub
VTK pipeline connection syntax:(1) Receiver.SetInputConnection(Supplier.GetOutputPort())
(2) Receiver.SetInputData(Supplier.GetOutput())
qjqfmjof!dpoofdujpo
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 15
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
Bqqmz!wjtvbmj{bujpo!gjmufs!up!pvs!ebub
VTK pipeline connection syntax:(1) Receiver.SetInputConnection(Supplier.GetOutputPort())
(2) Receiver.SetInputData(Supplier.GetOutput())
Pckfdut
qjqfmjof!dpoofdujpo
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 16
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
Dsfbuf!b!hsbqijdbm!nbqqfs
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 17
Source
Filter(s)
Actor
Renderer
Render Window
MapperBqqmz!ju!up!hfpnfusz!dsfbufe!cz!pvs!gjmufs
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 18
Renderer
Render Window
Source
Filter(s)
Mapper
ActorDsfbuf!bo!bdups!)iboemf*
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 19
Renderer
Render Window
Source
Filter(s)
Mapper
Actor
Buubdi!ju!up!pvs!!hsbqijdbm!qsjnjujwft
Dpmps!uifn!jo!xijuf
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 20
Render Window
Source
Filter(s)
Mapper
Actor
RendererDsfbuf!b!tdfof!sfoefsfs!)dbnfsb-!mjhiut-!///*
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 21
Render Window
Source
Filter(s)
Mapper
Actor
RendererJotfsu!pvs!hsbqijdbm!pckfdut!jo!uif!tdfof
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 22
Source
Filter(s)
Mapper
Actor
Renderer
Render WindowDsfbuf!b!xjoepx!po!uif!tdsffo
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 23
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
Sfoefs!pvs!tdfof!jo!uibu!xjoepx
Tfu!xjoepx0qjduvsf!sftpmvujpo
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 24
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
Interactor
Dsfbuf!tvqqpsu!gps!npvtf!joufsbdujpo
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020 25
Source
Filter(s)
Mapper
Actor
Renderer
Render Window
InteractorBee!ju!up!pvs!sfoefsjoh!xjoepx
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
wulBdups
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020wulQspqfsuz
wulBdups
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
wulSfoefsfs
wulQspqfsuz
wulBdups
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
wulSfoefsfs
wulQspqfsuz
wulMjhiu wulBdups
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
wulSfoefsXjoepx
wulSfoefsfs
wulQspqfsuz
wulMjhiu wulBdups
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
wulSfoefsXjoepxJoufsbdups
wulSfoefsXjoepx
wulSfoefsfs
wulQspqfsuz
wulMjhiu wulBdups
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
wulSfoefsXjoepxJoufsbdups
wulSfoefsXjoepx
wulSfoefsfs
wulQspqfsuz
wulMjhiu wulBdups
Sfgfs!up!uif!fybnqmf!po!uif!dmbtt!xfc!qbhf;!render_demo
Rendering Pipeline in VTK
26
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
27
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
opuijoh!ibqqfot!voujm!Sfoefs!dbmm
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
opuijoh!ibqqfot!voujm!Sfoefs!dbmm
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
opuijoh!ibqqfot!voujm!Sfoefs!dbmm
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
opuijoh!ibqqfot!voujm!Sfoefs!dbmm
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
opuijoh!ibqqfot!voujm!Sfoefs!dbmm
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
opuijoh!ibqqfot!voujm!Sfoefs!dbmm
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
28
opuijoh!ibqqfot!voujm!Sfoefs!dbmm
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Visualization PipelineImplicit control of execution (lazy evaluation): algorithms are only (re)executed when needed
29
A B
D E
C
F
G
E!npejgjfe
uijt!tfdujpo!sf.fyfdvuft!
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
OutlineVisualization pipelineInternal data representationExamples
30
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Cell Types
31
wfsufy Qpmzwfsufy Mjof Qpmzmjof
Usjbohmf Usjbohmf!tusjq Rvbesjmbufsbm Qjyfm
Ufusbifespo Ifybifespo Wpyfm Xfehf Qzsbnje
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Cell Types
32
wfsufy Qpmzwfsufy Mjof Qpmzmjof
Usjbohmf Usjbohmf!tusjq Rvbesjmbufsbm Qjyfm
Ufusbifespo Ifybifespo Wpyfm Xfehf Qzsbnje
1E
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Cell Types
33
wfsufy Qpmzwfsufy Mjof Qpmzmjof
Usjbohmf Usjbohmf!tusjq Rvbesjmbufsbm Qjyfm
Ufusbifespo Ifybifespo Wpyfm Xfehf Qzsbnje
2E
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Cell Types
34
wfsufy Qpmzwfsufy Mjof Qpmzmjof
Usjbohmf Usjbohmf!tusjq Rvbesjmbufsbm Qjyfm
Ufusbifespo Ifybifespo Wpyfm Xfehf Qzsbnje
3E
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Cell Types
35
wfsufy Qpmzwfsufy Mjof Qpmzmjof
Usjbohmf Usjbohmf!tusjq Rvbesjmbufsbm Qjyfm
Ufusbifespo Ifybifespo Wpyfm Xfehf Qzsbnje
4E
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Data Attributes
36
Tdbmbs 4E!wfdups opsnbm!
Ufyuvsf!dppsejobuf!)v-w*!ps!)v-w-x* 3oe!psefs!ufotps!)4y4!nbusjy*
Dfmm.xjtf!0!qpjou.xjtf!)wulEbubTfuBuusjcvuf*
0
@a11 a12 a13a21 a22 a23a31 a32 a33
1
A
0
@uvw
1
A
0
@uvw
1
A , u2 + v2 + w2 = 1
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Types
37
Jnbhf Sfdujmjofbs!hsje
Tusvduvsfe!)dvswjmjofbs*!hsje Votusvduvsfe!hsje
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Hierarchy
38
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Hierarchy
39
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Hierarchy
39
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Hierarchy
40
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Hierarchy
41
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Hierarchy
42
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Dataset Hierarchy
43
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
OutlineVisualization pipelineInternal data representationExamples
44
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Demos
45
Many examples available at:https://lorensen.github.io/VTKExamples/site/Python/
CS530 / Spring 2020 : Introduction to Scientific Visualization. 03. VTK01/16/2020
Additional ReferencesVTK Wiki http://www.vtk.org/Wiki/VTKVTK Tutorialin source code under Examples/TutorialVTK Examplesin source code under Examples/, primarily VisualizationAlgorithms, Rendering, Graphics, Geometric Modeling
VTK User’s GuideKitware Inc., ISBN 1-930934-0804The Visualization ToolkitAn object-oriented Approach to 3D Graphics,
3rd edition, W. Schroeder, K. Martin, B. Lorensen, Kitware
46