This chapter introduces the visualization techniques and methods which we will apply on MHD data in the last chapter. The focus is on 3D scalar and vector techniques, because often data consists of 3D scalar and vector fields. Since color is involved in most techniques we start with a description of three frequently used color coding systems.
Isosurfaces
The first visualization technique discussed is the generation
of isosurfaces. Since the attributes consist of scalar data
defined on a three dimensional grid, isosurfaces served as a
natural way to extract surface geometry for this data set. By
appropriate thresholding the colormap so that positive potential
is represented by red, and negative potential by blue, a
visualization was generated that indicated both the shape of the
molecular orbits as well as their potential. An example using
this isosurface visualization technique is provided below.
Another isosurface techique used was to render
semi-transparent isosurfaces. This allowed the user to observe
orbitals that were enveloped by other orbitals. An example of
this is shown below.
Volumetric rendering
Another technique implemented in this project was volumetric
rendering. As mentioned in class, volumetric rendering allows the
entire data set to be viewed at once, and lets the user to
"see inside" the data. For each pixel in an image
created using volumetric rendering, a ray is cast through the
semi-transparent volume. The resulting color at the pixel is a
composite of all the voxels the ray has intersected. As a
consquence, such images tend to be blurry. Another characteristic
volumetric rendering is that it is typically slower than surface
rendering techniques. Volumetric renderings of this data set took
over ten times as long to generate; therefore, volumetric
rendering of this data set was not well suited for realtime
visualization. However, it does provide features that are
obscured by surface rendering techniques. An example using
volumetric rendering is provided below.
Slicing
Slicing was another technique applied to this data set.
Slicing through the grid with a plane provides the user with
detailed information of scalar values within the grid volume. To
implement the slicing, I first generated a slice plane that was
positioned at the bottom of the grid volume and parallel to the
xy axis. Then, I moved the slice plane up the z axis
incrementally until it reached the top of the grid. Such a slice
appears in the image below. By taking slices, an animation was
produced which shows how the value of the electron potential
through the volume.
Contours
Taking 2D contours through this data set was another
visualization technique explored in this project. These were
produced by slicing the data using a plane with a normal oriented
up the x-axis, and then applying isosurfaces on the 2D domain.
These contours were found to offer detailed information about the
shape of the atomic orbitals, and were computed in a
computationally efficient manner. An example of this 2D contour
technique is provided below.
Animation
Since the simulation consists of ten time steps of the system as the oxygen atom approaches the carbon atom, the data set naturally lends itself to an animation. The isosurface and volumetric rendering animations demonstrate the motion and formation of molecular bonds. The slicing animation offers a closer inspection of each frame. Animations are shown at the theatre.