在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例Clojure → VTKTextBook.pdf

VTKTextBook.pdf

Clojure

下载此实例
  • 开发语言:Others
  • 实例大小:24.83M
  • 下载次数:3
  • 浏览次数:69
  • 发布时间:2022-05-02
  • 实例类别:Clojure
  • 发 布 人:明明我
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: text VTK pdf pd EX

实例介绍

【实例简介】VTKTextBook.pdf

【实例截图】

【核心代码】

Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Edition 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Edition 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
1 Introduction 1
1.1 What Is Visualization? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Examples of Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Why Visualize? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Imaging, Computer Graphics, and Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Origins of Data Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Purpose of This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 What This Book Is Not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.7 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8 How to Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.9 Software Considerations and Example Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.10 Chapter–by–Chapter Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.11 Legal Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.12 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Object-Oriented Design 13
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Goals of Good Software Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Object–Oriented Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Object–Oriented Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.1 What Is an Object? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.2 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Object–Oriented Modelling and Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.1 The Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.2 The Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.3 The Functional Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Object–Oriented Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7 Object–Oriented Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.9 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Computer Graphics Primer 31
ii
CONTENTS iii
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 A Physical Description of Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Image–Order and Object–Order Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.2 Surface versus Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.3 Visualization Not Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5 Surface Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7 Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.8 Coordinate Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.9 Actor Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.9.1 Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.9.2 Actor Location and Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.10 Graphics Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.10.1 Raster Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.10.2 Interfacing to the Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.10.3 Rasterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.10.4 Z–Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.11 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.11.1 The Graphics Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.11.2 VTK Pointer Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.11.3 Achieving Device Independence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.11.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.12 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.13 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.14 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4 The Visualization Pipeline 83
4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.1.1 A Data Visualization Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.1.2 The Functional Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.1.3 The Visualization Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.2 The Visualization Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.2.1 Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.2.2 Process Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3 Pipeline Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3.1 Pipeline Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.2 Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4 Executing the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4.1 Explicit Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.4.2 Implicit Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.4.3 Conditional Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.5 Memory and Computation Trade–off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.5.1 Static and Dynamic Memory Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5.2 Reference Counting and Garbage Collection . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.6 Advanced Visualization Pipeline Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.6.1 Processing Unknown Dataset Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.6.2 Extending the Data Object Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
iv CONTENTS
4.6.3 Managing Complex Execution Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.7 Programming Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.7.1 Visualization Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.7.2 Alternative Visual Programming Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.8 Data Interface Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.8.1 Programming Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.8.2 Application Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.9 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.9.1 Procedural Language Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.9.2 Pipeline Design and Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.9.3 Connecting Pipeline Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.9.4 Pipeline Execution and Information Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.9.5 Flexible Computation / Memory Trade-off . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.9.6 High-Level Object Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.9.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.10 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.11 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5 Basic Data Representation 123
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.1.1 Characterizing Visualization Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.1.2 Design Criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.2 The Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.3 The Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.4 Cell Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.4.1 Linear Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.4.2 NonLinear Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.5 Attribute Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.6 Types of Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.6.1 Polygonal Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.6.2 Image Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.6.3 Rectilinear Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.6.4 Structured Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.6.5 Unstructured Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.6.6 Unstructured Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.7 Other Data Abstractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.7.1 The Application Visualization System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.7.2 The Data Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.7.3 The Visualization Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.8 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.8.1 Memory Allocation and Data Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.8.2 The Tuple Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.8.3 Representing Data With Data Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.8.4 Abstract/Concrete Data Array Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.8.5 Data Object Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.8.6 Dataset Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.8.7 Cell Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.8.8 Data Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
CONTENTS v
5.8.9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.10 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6 Fundamental Algorithms 159
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.1.1 Generality Versus Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.2 Scalar Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.2.1 Color Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.2.2 Contouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
6.2.3 Scalar Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.3 Vector Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.3.1 Hedgehogs and Oriented Glyphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.3.2 Warping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
6.3.3 Displacement Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.3.4 Time Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.3.5 Streamlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.4 Tensor Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.4.1 Tensor Ellipsoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.5 Modelling Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.5.1 Source Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.5.2 Implicit Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.5.3 Implicit Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
6.5.4 Glyphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
6.5.5 Cutting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
6.6 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.6.1 Process Object Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.6.2 Cutting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
6.6.3 Glyphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.6.4 Streamlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.6.5 Abstract Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
6.6.6 Visualizing Blood Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.7 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.8 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
7 Advanced Computer Graphics 209
7.1 Transparency and Alpha Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
7.2 Texture Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
7.3 Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
7.4 Image–Order Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
7.5 Object–Order Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
7.6 Other Volume Rendering Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
7.7 Volume Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
7.8 Volumetric Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
7.9 Regions of Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
7.10 Intermixing Volumes and Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
7.11 Efficient Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
vi CONTENTS
7.12 Interactive Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
7.13 Volume Rendering Future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
7.14 Stereo Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
7.15 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
7.16 Camera Tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.17 Mouse-Based Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.18 3D Widgets and User Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.19 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
7.19.1 Texture Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
7.19.2 Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
7.19.3 Red–Blue Stereo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.19.4 Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.19.5 Focal Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
7.19.6 vtkLineWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
7.20 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
7.21 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
7.22 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
8 Advanced Data Representation 265
8.1 Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.1.1 Global Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.1.2 Dataset Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.1.3 Structured Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.2 Interpolation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.2.1 General Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.2.2 Specific Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
8.3 Cell Tessellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
8.3.1 Basic Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
8.3.2 Error Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
8.3.3 Advanced Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
8.4 Coordinate Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
8.4.1 Dataset to Global Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
8.4.2 Global to Dataset Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
8.5 Computing Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
8.6 Topological Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
8.6.1 Cell Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
8.6.2 Dataset Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
8.7 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
8.8 Cell / Line Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
8.9 Scalars and Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
8.10 Special Techniques for Image Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
8.10.1 Coordinate Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
8.10.2 Derivative Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
8.10.3 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.10.4 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.11 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
8.11.1 Unstructured Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
8.11.2 Abstract Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
8.11.3 Traversing Intermediate Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
CONTENTS vii
8.11.4 Color Scalar Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
8.11.5 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
8.11.6 Picking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
8.11.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
8.12 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
8.13 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
8.14 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
9 Advanced Algorithms 319
9.1 Scalar Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
9.1.1 Dividing Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
9.1.2 Carpet Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
9.1.3 Clipping With Scalar Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.2 Vector Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
9.2.1 Streamribbons and Streamsurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
9.2.2 Stream Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
9.2.3 Vector Field Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
9.3 Tensor Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
9.3.1 Hyperstreamlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
9.4 Modelling Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
9.4.1 Visualizing Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
9.4.2 Data Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
9.4.3 Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
9.4.4 Triangle Strip Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
9.4.5 Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
9.4.6 Polygon Normal Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
9.4.7 Decimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
9.4.8 Mesh Smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
9.4.9 Swept Volumes and Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
9.4.10 Visualizing Unstructured Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
9.4.11 Multidimensional Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
9.4.12 Texture Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
9.5 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
9.5.1 Dividing Cubes / Point Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
9.5.2 Clipping with Scalar Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
9.5.3 Swept Volumes and Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
9.5.4 Multidimensional Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
9.5.5 Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
9.5.6 Decimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
9.5.7 Texture Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
9.5.8 Delaunay Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
9.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
9.7 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
9.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
10 Image Processing 387
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
10.2 Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
10.2.1 Regions of Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
viii CONTENTS
10.2.2 Streaming and Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
10.2.3 Attribute Data and Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
10.3 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
10.3.1 Image Restoration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
10.3.2 Nonlinear Smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.3.3 Low Frequency Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.3.4 Image Enhancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.3.5 Frequency Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
10.3.6 Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
10.3.7 Postprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.3.8 Multispectral Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.4 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
10.4.1 Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
10.4.2 Create an Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
10.4.3 Gradient Magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
10.4.4 Image Warping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.4.5 Regression Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.5 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
10.6 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
10.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
11 Visualization on the Web 417
11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
11.2 Early Web Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
11.3 Virtual Reality Modeling Language (VRML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
11.4 A VRML Visualization Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
11.5 Visualization with Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
11.6 Java3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
11.7 VRML, Java, and the EAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
11.8 The Future of Web Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
11.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
11.10 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
12 Applications 441
12.1 3D Medical Imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
12.1.1 Read the Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
12.1.2 Create an Isosurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
12.2 Creating Models from Segmented Volume Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
12.2.1 The Virtual Frog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
12.2.2 Developing a Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
12.2.3 Overview of the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
12.2.4 Read the Segmented Volume Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
12.2.5 Remove Islands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
12.2.6 Select a Tissue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
12.2.7 Resample the Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
12.2.8 Smooth the Volume Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
12.2.9 Generate Triangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
12.2.10 Transform the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
12.2.11 Reduce the Number of Triangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
ix
12.2.12 Smooth the Triangle Vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
12.2.13 Generate Normals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
12.2.14 Generate Triangle Strips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
12.2.15 Write the Triangles to a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
12.2.16 Execute the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
12.2.17 Specifying Parameters for the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
12.2.18 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
12.2.19 Other Frog-Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
12.3 Financial Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
12.4 Implicit Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
12.5 Computational Fluid Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
12.6 Finite Element Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
12.7 Algorithm Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
12.8 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
12.9 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
12.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
List of Figures 491
List of Tables 504
List of Equations 505
Listings 508
Glossary 511
Index 525
x

标签: text VTK pdf pd EX

实例下载地址

VTKTextBook.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警