VIEWS: 44 PAGES: 44 CATEGORY: Education POSTED ON: 11/21/2008 Public Domain
e Mats Nyl´n June 5, 2001 Slide 1 of 44 Introduction to Scientiﬁc Visualization • Elementary overview. • Data representation. • Introduction to visualization techniques. • Software for visualization. HPC2N e Mats Nyl´n June 5, 2001 Slide 2 of 44 Scientiﬁc Visualization Scientiﬁc Visualization is the process of exploring data, in order to gain insight and understanding. Important characteristics of visualization is: 1 Typically the dimensionality of the data is at least 3. 2 Visualization concerns itself with data transformation. 3 Visualization is naturally interactive. HPC2N e Mats Nyl´n June 5, 2001 Slide 3 of 44 The visualization loop The ﬁgure below illustrates the visualization loop. The data may come from most anywhere: simulations, experiments, observations etc. Data Transform Mapping Display Interactive Feedback HPC2N e Mats Nyl´n June 5, 2001 Slide 4 of 44 Highways and byways Concepts associated with visualization • Immersive visualization environment: an environment where the user is “immersed” in the computer generated 3D graphics, for example in a CAVE. • Collaborative visualization: two or more users visualizes the same data using the same transform and mapping, but individual displays. • Computational steering: When the interactive loop also includes the data-generation. Imaging and Computer graphics are separate from visualization, obviously though, both of these play a role in the display part of the visualization pipeline. HPC2N e Mats Nyl´n June 5, 2001 Slide 5 of 44 A trivial example Consider the function deﬁned by f (x) + f (x) = 0 f (0) = 0 f (0) = 1 HPC2N e Mats Nyl´n June 5, 2001 Slide 6 of 44 Mathematical analysis A mathematical analysis gives a lot of information, for example f (x)2 + f (x)2 = 1 and f (x + 2π) = f (x) and f (x + π) = −f (x) etc. We also get a Taylor-expansion x3 x5 f (x) = x − + + O(x7) 6 120 HPC2N e Mats Nyl´n June 5, 2001 Slide 7 of 44 Visualizing it We just plot the function for x-values from -10 to 10. 1 0.8 0.6 0.4 0.2 f (x) 0 -0.2 -0.4 -0.6 -0.8 -1 -10 -5 0 5 10 x HPC2N e Mats Nyl´n June 5, 2001 Slide 8 of 44 Something diﬀerent And now to something completely diﬀerent . . . HPC2N e Mats Nyl´n June 5, 2001 Slide 9 of 44 A simple molecule A simple molecule might be characterised by some simple data x y z Atom 0 0 0 Si 1 1 1 O -1 -1 1 O 1 -1 -1 O -1 1 -1 O That is, a SiO4 tetrahedron. HPC2N e Mats Nyl´n June 5, 2001 Slide 10 of 44 See the molecule HPC2N e Mats Nyl´n June 5, 2001 Slide 11 of 44 Computational steering The ﬁgure below illustrates computational steering (in this case “software in-the-loop”). Interactive Feedback “Simulation” Data Transform Mapping Display Interactive Feedback HPC2N e Mats Nyl´n June 5, 2001 Slide 12 of 44 What is data The data to visualize can be most anything. In order to visualize it we need to associate a 3D structure with the data. Several cases exists, e.g., • Fields: associates a value with each point in space, values may be scalar, vector, tensor etc. This type of data have a natural 3D structure. • Data given at speciﬁc points in space, e.g., coordinates of each tree in a forest together with information about the tree. Another typical ex- ample would be the speciﬁcation of atomic positions within a molecule. This type of data have a natural 3D structure, it is, however not as easy (as ﬁelds) to visualize. • General multivariate data, a simple example would be information about a population. There is no natural 3D structure. HPC2N e Mats Nyl´n June 5, 2001 Slide 13 of 44 Fields Fields occur in many typical physics or engineering problems, in these con- texts they usually appear as the solution to some partial diﬀerential equa- tion. A typical example would be the velocity ﬁeld of a liquid. Depending on the type of object described by the ﬁeld we distinguish • Scalar: a ﬁeld which associates a single number with each point in space, examples are: temperature, pressure in a gas or liquid, concentration, wave function etc. • Vector: a ﬁeld which associates a vector with each point in space, examples are: velocity ﬁeld in a gas or liquid, magnetic ﬁeld, electric ﬁeld etc. • Tensor: a ﬁeld which associates a tensor (a 3 × 3 matrix) with each point in space, the typical example is: stress (and strain) tensor in a solid. HPC2N e Mats Nyl´n June 5, 2001 Slide 14 of 44 Other 3D data The other 3D datasets can be handled in a couple of ways: • generate ﬁelds by “splatting” the data, this can be though of as some irregular interpolation technique. • plot a glyph at each point in the dataset, and let the glyph properties depend on the values speciﬁed for each point, e.g., for a molecule plot a sphere at each atom where the radius and colour of the sphere depends on which type of atom it is. HPC2N e Mats Nyl´n June 5, 2001 Slide 15 of 44 General multivariate data Before we can start to visualize this kind of data we need to assign a coordinate with each data point. We need to deﬁne x, y and z for each data point, typically we do this through some functions xj = x(d1j , d2j , . . . , dmj ) yj = y(d1j , d2j , . . . , dmj ) zj = z(d1j , d2j , . . . , dmj ) After this has been done the we can apply the same techniques to this kind of data. HPC2N e Mats Nyl´n June 5, 2001 Slide 16 of 44 Mesh and data A ﬁeld is speciﬁed as two separate entities: • the mesh the coordinates for each point and their connectivity. • the data the values associated with the mesh (not necessarily at the mesh coordinates). We distinguish between structured and unstructured meshes. HPC2N e Mats Nyl´n June 5, 2001 Slide 17 of 44 Nodes and cells The data may be given at nodes or for cells, what is natural depends on how the data is generated. Here we see small cell from a 2D mesh Node Cell HPC2N e Mats Nyl´n June 5, 2001 Slide 18 of 44 Visualization techniques Let’s go back to the visualization pipeline. Visualization techniques is about the middle part Visulization algorithms Data Transform Mapping Display Interactive Feedback It’s about visualization, not graphics. HPC2N e Mats Nyl´n June 5, 2001 Slide 19 of 44 Transformations The ﬁrst part is about transformation • Geometric transformations, for example scaling the coordinates. • Topological transformations, for example converting a dataset from polygonal data to unstructured grid data. • Attribute transformations, for example standard vector analysis on the ﬁeld. • Combined transformations, transformations which aﬀects both the topol- ogy and the attributes. HPC2N e Mats Nyl´n June 5, 2001 Slide 20 of 44 Algorithms The second part is about mapping the data to something that can be visualized (i.e. some 3D model) • Scalar algorithms works on scalar data, for example generating contour lines or isosurfaces. • Vector algorithms works on vector data. Showing oriented arrows is an example of vector visualization. • Tensor algorithms works with tensors. • Modelling algorithms generates dataset topology or geometry, or sur- face normals or texture data. For example, generating glyphs oriented according to the vector direction and then scaled according to the scalar value is a combined vector/scalar algorithm. HPC2N e Mats Nyl´n June 5, 2001 Slide 21 of 44 Scalar algorithms The most elementary algorithms deals with scalar data or data that can be made into scalar • Colour mapping: map the scalar to a colour, and then display that colour. The scalar mapping is implemented using a colour lookup table, that is indexed with the scalar. Good choice of the “transfer function” is important for the ﬁnal result of the visualization. • Contouring: contouring is a natural idea for scalars, in 2D we get contour lines (like the elevation curves on a map), whereas in 3D we get isosurfaces. • Scalar generation: since scalar visualization techniques are simple and eﬀective methods, we might wish to use these techniques even when visualizing something that isn’t a scalar ﬁeld. Then we need to generate a scalar. HPC2N e Mats Nyl´n June 5, 2001 Slide 22 of 44 Colour mapping and isosurfaces HPC2N e Mats Nyl´n June 5, 2001 Slide 23 of 44 Scalar Generation HPC2N e Mats Nyl´n June 5, 2001 Slide 24 of 44 Combinations . . . HPC2N e Mats Nyl´n June 5, 2001 Slide 25 of 44 Vector algorithms Visualizing vector ﬁelds can be done with a variety of methods • Hedgehogs and Oriented Glyphs: display an arrow or an oriented glyph at (selected) points. • Warping. • Displacement plots. • Time animations: let “massless” particles trace the vector ﬁeld. • Streamlines: this is lines parallel to the vector ﬁeld at all points. HPC2N e Mats Nyl´n June 5, 2001 Slide 26 of 44 Hedgehogs and Oriented Glyphs HPC2N e Mats Nyl´n June 5, 2001 Slide 27 of 44 Warping HPC2N e Mats Nyl´n June 5, 2001 Slide 28 of 44 Streamlines HPC2N e Mats Nyl´n June 5, 2001 Slide 29 of 44 Tensor algorithms Below are two example tensor visualizations To the left tensor ellipsoids, to the right Hyperstreamlines HPC2N e Mats Nyl´n June 5, 2001 Slide 30 of 44 Glyphs Glyphs are objects that are aﬀected by input data, for example • The size could vary with a scalar value, • The size and orientation could vary according to a vector value, • The colour could vary with a scalar value. Glyphs can be simple geometric objects (Sphere, arrow, etc.) but can also be more elaborate. HPC2N e Mats Nyl´n June 5, 2001 Slide 31 of 44 Glyph example: face HPC2N e Mats Nyl´n June 5, 2001 Slide 32 of 44 Glyph example: molecule HPC2N e Mats Nyl´n June 5, 2001 Slide 33 of 44 Example volume rendering By stacking several semi transparent cuts we get a technique to render entire volumes HPC2N e Mats Nyl´n June 5, 2001 Slide 34 of 44 Visualization software There is a lot of diﬀerent types of software in use for the purpose of visualization. From a users point of view we can see three basic types: 1 Modular visualization environments (MVE), complete environments for the development of visualizations. 2 Software toolkits, i.e., libraries that can be helpful when creating visu- alization applications. 3 Specialised visualization applications. HPC2N e Mats Nyl´n June 5, 2001 Slide 35 of 44 MVE’s These environments gives the user direct interactive control over the visual- ization pipeline, usually through a visual programming interface. Canonical examples are: • AVS/Express, from AVS, • IBM OpenDX, from IBM, • IRIX Explorer, from NAG. HPC2N e Mats Nyl´n June 5, 2001 Slide 36 of 44 Visual interface of AVS/Express HPC2N e Mats Nyl´n June 5, 2001 Slide 37 of 44 AVS/Express application HPC2N e Mats Nyl´n June 5, 2001 Slide 38 of 44 Visual interface of OpenDX HPC2N e Mats Nyl´n June 5, 2001 Slide 39 of 44 View from OpenDX HPC2N e Mats Nyl´n June 5, 2001 Slide 40 of 44 Toolkits Toolkits oﬀer the possibility to develop visualisation applications using a variety of visualization techniques. A typical example of a toolkit is “vtk”, the visualization toolkit. Using a toolkit, like “vtk” for example, gives greater ﬂexibility and more opportunities to optimise the visualization pipeline in comparison with us- ing a MVE. This is paid for in terms of a longer and more cumbersome development cycle. HPC2N e Mats Nyl´n June 5, 2001 Slide 41 of 44 Specialised applications These are applications specialised for a certain type of data visualisation. Two examples (out of very many) • rasmol for viewing large molecules, • vis5d to visualize weather data. HPC2N e Mats Nyl´n June 5, 2001 Slide 42 of 44 rasmol HPC2N e Mats Nyl´n June 5, 2001 Slide 43 of 44 vis5d - Control HPC2N e Mats Nyl´n June 5, 2001 Slide 44 of 44 vis5d - View HPC2N