Introduction to Scientific Visualization - PDF by gregorio11

VIEWS: 44 PAGES: 44

									        e
Mats Nyl´n June 5, 2001                                 Slide 1 of 44




         Introduction to Scientific Visualization



  • Elementary overview.
  • Data representation.
  • Introduction to visualization techniques.
  • Software for visualization.




                                                HPC2N
        e
Mats Nyl´n June 5, 2001                                          Slide 2 of 44




                          Scientific Visualization


Scientific 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 figure 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 defined 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 different
And now to something completely different . . .




                                                 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 figure 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 specific 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 specification of atomic positions within a molecule.
    This type of data have a natural 3D structure, it is, however not as
    easy (as fields) 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 differential equa-
tion. A typical example would be the velocity field of a liquid.

Depending on the type of object described by the field we distinguish

  • Scalar: a field 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 field which associates a vector with each point in space,
    examples are: velocity field in a gas or liquid, magnetic field, electric
    field etc.
  • Tensor: a field 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 fields 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 specified 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 define 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 field is specified 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 first 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
    field.
  • Combined transformations, transformations which affects 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 final 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
    effective methods, we might wish to use these techniques even when
    visualizing something that isn’t a scalar field. 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 fields 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 field.
  • Streamlines: this is lines parallel to the vector field 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 affected 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 different 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 offer 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 flexibility 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