没有合适的资源?快使用搜索试试~ 我知道了~
VTK入门经典。pdf
4星 · 超过85%的资源 需积分: 50 139 下载量 42 浏览量
2009-08-16
23:32:20
上传
评论 1
收藏 1MB PDF 举报
温馨提示
试读
19页
VTK入门经典.pdf,适合初学者。通过掌握vtk的基础知识更好的入门。
资源详情
资源评论
资源推荐
Vi li ti Hi tVi li ti Hi t
Vi
sua
li
za
ti
on
Hi
s
t
ory
Vi
sua
li
za
ti
on
Hi
s
t
ory
•• Visualization librariesVisualization libraries
–– Embed into simulation codeEmbed into simulation code
–– Outputs images (plots) during runOutputs images (plots) during run--time.time.
••PostPost--process of restart dumpsprocess of restart dumps
––
Custom tools for custom data formatsCustom tools for custom data formats
Custom tools for custom data formatsCustom tools for custom data formats
–– Custom derived data, data mappersCustom derived data, data mappers
Vi l P iVi l P i
Vi
sua
l P
rogramm
i
ng
Vi
sua
l P
rogramm
i
ng
•• Haberli’s landmark ConMan paper Haberli’s landmark ConMan paper --1985?1985?
•• Extension of Unix pipes.Extension of Unix pipes.
••
Take a small specialized programTake a small specialized program
Take a small specialized programTake a small specialized program
–– Provide wrapper for remote procedure and Provide wrapper for remote procedure and
shared memoryshared memory
shared memoryshared memory
–– Provide GUI for parameters (args) of the Provide GUI for parameters (args) of the
programprogram
program
.
program
.
E l Vi l P EE l Vi l P E
E
ar
l
y
Vi
sua
l P
rog.
E
nv.
E
ar
l
y
Vi
sua
l P
rog.
E
nv.
•• Data Push modelsData Push models
––aPe aPe --Ohio State / OSC Ohio State / OSC
––AVS AVS -- Advanced Visualization SystemAdvanced Visualization System
• Stellar Computer
––Khoros Khoros -- Univ. of New Mexico?Univ. of New Mexico?
–– Iris Explorer Iris Explorer ––SGI / NAGSGI / NAG
•• Data Flow modelData Flow model
Gt tGt t
G
rea
t
concep
t
s
G
rea
t
concep
t
s
•• Very similar to Corba supportVery similar to Corba support
–– provides the shared memory communicationprovides the shared memory communication
–– each “module” is it’s own processeach “module” is it’s own process
• Can reside on it’s own CPU
• Can reside across the network
•• Tools to automatically convert a C, C++ or Tools to automatically convert a C, C++ or
Fortran program to a moduleFortran program to a module
Fortran program to a module
.
Fortran program to a module
.
PblPbl
P
ro
bl
ems
P
ro
bl
ems
•• Data pushed to module AData pushed to module A
•• Data modified by A (a “mapper”) and Data modified by A (a “mapper”) and
p
ushed to both modules B and C.
p
ushed to both modules B and C.
pp
•• Four copies of the data now existFour copies of the data now exist
Read
Read
A
CB
Eti MdlEti Mdl
E
xecu
ti
on
M
o
d
e
lE
xecu
ti
on
M
o
d
e
l
•• Each module has a set of parameters or Each module has a set of parameters or
t t th t t l it t tt t th t t l it t t
s
t
a
t
e
th
a
t
con
t
ro
l
s
it
s
ou
t
pu
t
.s
t
a
t
e
th
a
t
con
t
ro
l
s
it
s
ou
t
pu
t
.
••A chan
g
e to Module B’s
p
arameters onl
y
A chan
g
e to Module B’s
p
arameters onl
y
gpygpy
requires rerequires re--executing B.executing B.
••
A change to Module A
’
s parameters will reA change to Module A
’
s parameters will re
••
A change to Module A s parameters
,
will reA change to Module A s parameters
,
will re
--
execute A and send new data execute A and send new data
t bth B d Ct bth B d C
Read
t
o
b
o
th B
an
d C
.
t
o
b
o
th B
an
d C
.
A
CB
Dt P h Dt PllDt P h Dt Pll
D
a
t
a
P
us
h
vs
D
a
t
a
P
u
llD
a
t
a
P
us
h
vs
D
a
t
a
P
u
ll
•• Data PushData Push
–– Push data when changedPush data when changed
••
Data PullData Pull
••
Data PullData Pull
–– Only request data when neededOnly request data when needed
–– Break the data into chunks, and only request Break the data into chunks, and only request
small chunks at a time.small chunks at a time.
•• Multiple windows (paths)Multiple windows (paths)
••
Memory requirements reducedMemory requirements reduced
••
Memory requirements reducedMemory requirements reduced
E l Vi l P EE l Vi l P E
E
ar
l
y
Vi
sua
l P
rog.
E
nv.
E
ar
l
y
Vi
sua
l P
rog.
E
nv.
•• Data Pull ModelsData Pull Models
–– Data Explorer (Dx) Data Explorer (Dx) --IBMIBM
•Data centric
––AVS/ExpressAVS/Express
––Ima
g
e Vision Ima
g
e Vision --SGISGI
gg
–– Java Advanced ImagingJava Advanced Imaging
––
VtkVtk
––
VtkVtk
Mh lit Mh fliblMh lit Mh flibl
––
M
uc
h
more
comp
li
ca
t
e,
M
uc
h
more
fl
ex
ibl
e
M
uc
h
more
comp
li
ca
t
e,
M
uc
h
more
fl
ex
ibl
e
VTKVTK
VTKVTK
The Visualization ToolkitThe Visualization Toolkit
The Visualization ToolkitThe Visualization Toolkit
Willi J S h dWilli J S h d
Willi
am
J
.
S
c
h
roe
d
er
Willi
am
J
.
S
c
h
roe
d
er
President, Kitware, Inc.President, Kitware, Inc.
Rensselaer SCOREC Research AssociateRensselaer SCOREC Research Associate
www.kitware.comwww.kitware.com
www.vtk.orgwww.vtk.org
www.vtk.orgwww.vtk.org
will.schroeder@kitware.comwill.schroeder@kitware.com
Modified by
Roger Crawfis
ThTh
Th
emes
Th
emes
••OverviewOverview
•• ArchitectureArchitecture
Ghi SbtGhi Sbt
••
G
rap
hi
c
S
u
b
sys
t
em
G
rap
hi
c
S
u
b
sys
t
em
••
Visualization PipelineVisualization Pipeline
••
Visualization PipelineVisualization Pipeline
•• InteractionInteraction
•• Software ProcessSoftware Process
••ConclusionConclusion
T
a
x
o
n
o
m
y o
f
V
i
sual
iz
at
i
o
n
T
a
x
o
n
o
m
y o
f
V
i
sual
iz
at
i
o
n
aoo y o Vsual ato aoo y o Vsual ato
SystemsSystems
•• Toolkits / LibrariesToolkits / Libraries
ComponentsComponents
––
ComponentsComponents
–– Little or no GUILittle or no GUI
––
Meant to be integrated with other systems/toolkitsMeant to be integrated with other systems/toolkits
––
Meant to be integrated with other systems/toolkitsMeant to be integrated with other systems/toolkits
–– Programming requiredProgramming required
••
Development EnvironmentsDevelopment Environments
••
Development EnvironmentsDevelopment Environments
–– ComponentsComponents
––
GUIGUI
--
assisted (visual) programmingassisted (visual) programming
GUIGUI
--
assisted (visual) programmingassisted (visual) programming
•• ApplicationsApplications
TurnTurn
keykey
––
TurnTurn
--
keykey
–– Minimal programmingMinimal programming
Wh t I VTK?Wh t I VTK?
Wh
a
t I
s
VTK?Wh
a
t I
s
VTK?
A visualization A visualization toolkittoolkit
––Desi
g
ned and im
p
lemented usin
g
ob
j
ectDesi
g
ned and im
p
lemented usin
g
ob
j
ect--oriented
p
rinci
p
lesoriented
p
rinci
p
les
A visualization A visualization toolkittoolkit
––Desi
g
ned and im
p
lemented usin
g
ob
j
ectDesi
g
ned and im
p
lemented usin
g
ob
j
ect--oriented
p
rinci
p
lesoriented
p
rinci
p
les
gp gjgp gj
pppp
–– C++ class library (~700+ classes; ~425,000 LOC; <225,000 C++ class library (~700+ classes; ~425,000 LOC; <225,000
executable lines)executable lines)
A d J TCL P h bi diA d J TCL P h bi di
gp gjgp gj
pppp
–– C++ class library (~700+ classes; ~425,000 LOC; <225,000 C++ class library (~700+ classes; ~425,000 LOC; <225,000
executable lines)executable lines)
A d J TCL P h bi diA d J TCL P h bi di
––
A
utomate
d J
ava,
TCL
,
P
yt
h
on
bi
n
di
ngs
A
utomate
d J
ava,
TCL
,
P
yt
h
on
bi
n
di
ngs
–– Portable across Unix, Windows, Mac OSXPortable across Unix, Windows, Mac OSX
Supports 3D/2D graphics visualization image processing volume Supports 3D/2D graphics visualization image processing volume
––
A
utomate
d J
ava,
TCL
,
P
yt
h
on
bi
n
di
ngs
A
utomate
d J
ava,
TCL
,
P
yt
h
on
bi
n
di
ngs
–– Portable across Unix, Windows, Mac OSXPortable across Unix, Windows, Mac OSX
Supports 3D/2D graphics visualization image processing volume Supports 3D/2D graphics visualization image processing volume
––
Supports 3D/2D graphics
,
visualization
,
image processing
,
volume Supports 3D/2D graphics
,
visualization
,
image processing
,
volume
renderingrendering
–– Focused on scientific visualization, some support for higherFocused on scientific visualization, some support for higher--
di i l i li idi i l i li i
––
Supports 3D/2D graphics
,
visualization
,
image processing
,
volume Supports 3D/2D graphics
,
visualization
,
image processing
,
volume
renderingrendering
–– Focused on scientific visualization, some support for higherFocused on scientific visualization, some support for higher--
di i l i li idi i l i li i
di
mens
i
ona
l
v
i
sua
li
zat
i
on
di
mens
i
ona
l
v
i
sua
li
zat
i
on
––OpenOpen--source (BSDsource (BSD--style, not GPL)style, not GPL)
di
mens
i
ona
l
v
i
sua
li
zat
i
on
di
mens
i
ona
l
v
i
sua
li
zat
i
on
––OpenOpen--source (BSDsource (BSD--style, not GPL)style, not GPL)
–– www.vtk.orgwww.vtk.org–– www.vtk.orgwww.vtk.org
VTK Is A Toolkit
,
Not a VTK Is A Toolkit
,
Not a
,,
S
y
stemS
y
stem
yy
•• EmbeddableEmbeddable
Plays with other softwarePlays with other software
––
Plays with other softwarePlays with other software
••
SeparableSeparable
••
SeparableSeparable
–– Can pull out “pieces”Can pull out “pieces”
•• AdaptableAdaptable
Not dependent on GUINot dependent on GUI
––
Not dependent on GUINot dependent on GUI
• X, Motif, Windows, Mac, Qt, FLTK, Tk, wxWindows,
etc
etc
.
–– Not dependent on rendering libraryNot dependent on rendering library
•
OpenGL, others
OpenGL, others
Hi tHi t
Hi
s
t
ory
Hi
s
t
ory
•• Precursor: GE Legacy System LYMB (circa 1983)Precursor: GE Legacy System LYMB (circa 1983)
•• Proprietary software issues led to Proprietary software issues led to
openopen
--
source VTK project to create:source VTK project to create:
openopen
source VTK project to create:source VTK project to create:
–– TextbookTextbook
––Sam
p
le codeSam
p
le code
pp
•• December ‘93 work begins on VTK December ‘93 work begins on VTK
tt/fttt/ft
t
ex
t/
so
ft
ware
t
ex
t/
so
ft
ware
J 1998 Kit f J 1998 Kit f
••
J
une
1998 Kit
ware
f
orms:
J
une
1998 Kit
ware
f
orms:
VTK Commercial SupportVTK Commercial Support
Thi It DThi It D
Thi
ngs
It D
oes
Thi
ngs
It D
oes
h h
More
T
h
ings:
ImageMore
T
h
ings:
Image--ProcessingProcessing
剩余18页未读,继续阅读
onlynumber1
- 粉丝: 2
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5