240 likes | 720 Views
VTK: The Visualization Toolkit. Part II: Visualization Model March 30, 2001. Data source Visualizatoin Graphics. VTK Visualization Models. Graphics and Visualization Model Graphics objects: rendering Visualization objects: generating geometry.
E N D
VTK: The Visualization Toolkit Part II: Visualization Model March 30, 2001
Data source Visualizatoin Graphics VTK Visualization Models • Graphics and Visualization Model • Graphics objects: rendering • Visualization objects: generating geometry Data Flow System: Pipeline execution
What is visualization anyway? • Converting data from its original form into graphics • Deal with the issues of transformation and representation • Transformation: data to graphics • Representation: internal data structures • Example: stock price display
Y (price) X(time) Representations • Computational representation: An array of stock prices. • Price[i] = 9085, 9080, 9075, 9060, 9068, …. • Time[i] = 10(am), 10:30, 11, 11:30, 12, … • Graphical Representation: x-y plot Computational Graphics Transformation (visualization)
Quadric function: f(x,y,z) = a0 x + a1 y + a2 z + a3 xy + a4 yz + a5 xz + a6 x + a7 y + a8 z 2 2 2 A 3D example • Visualization process: • Sample the function f(x,y,z) -> a 3D array on • a regular grid: F[x][y][z] = f ; (-1 <= x,y,z <= 1) • Generate a 3D surface corresponding to f(x,y,z) = c • Display the surface Sample the function
Visualization Process f(x,y,z) sample Transformation (visualization) Computational representation Graphical representation
Object-oriented viewpoint • Representation: Object model internal data structures • Transformation: Functional model the steps to create visualization (how data flow through the system) VTK Visualization Model
Sample F(x,y,z) Point Array Extract Surface Polygon : process Display : data : data flow direction VTK Functional Model Illustrate the steps to create visualization, also called Visualization Pipeline (visualization networks)
VTK Object Model • Describe which objects operate on the functional • model (visualization pipeline) • Data Object: Represent information and methods to • create, access, and delete the information • example: the 3D point array F(x,y,z) • Process Object: operates on (transform) the data objects • example: generating surfaces from F(x,y,z)
Process Objects • Source: Interface to external data sources • or generate data procedurally • Filter: Transform the data input • Mapper: The sink of the functional model, • interface with the graphics model
Source Sample F(x,y,z) Point Array Extract Surface Filter Polygon Display Mapper (and Graphics) Process Objects (cont’d)
Data Objects • Data Object: dataset • (representation of information) • Structures: how the information is organized • - Topology • - Geometry • Attributes: store the information we want • to visualize. e.g. function values
Data Objects: structures • Topology: • Invariant under geometric transformation • (rotation, translation, scaling etc) • - Topological structures: Cells • Geometry: • The instantiation of the topology • Geometric structures: cells with • positions in 3D space
VTK Cell Types (d) polyline (e) triangle (b) Polyvertex (c) line (a) vertex (e) Quadrilateral (e) Polygon (f) Tetrahedron (f) Hexahedron And more (I am too tired drawing now …)
VTK Data Attributes • The information stored at each corner of the cell • Scalars: temperature, pressure, etc • Vector: velocitys • Normals: surface directions • Texture coordinates: graphics specific • Tensors: matrices
Where are we now ... Remember: • Data Object: dataset • (representation of information) • Structures: how the information is organized • - Topology • - Geometry • Attributes: store the information we want • to visualize. e.g. function values
VTK Datasets A Collection of structures and attributes Structured Grid Rectilinear Grid Unstructured Points Polygonal Grid Unstructured Grid Structured Grid
Examples vol.cxx Ugrid.cxx
Pipeline Execution Direction of ‘update’ Render Visualization model Graphics model Source Filter Mapper Actor Direction of data flow