# Introduction to Scientific Visualization - PDF by gregorio11

VIEWS: 44 PAGES: 44

• pg 1
```									        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

```
To top