Visualization techniques and methods

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.



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 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.


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.



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.