CS6630 - Scientific Visualization - Project 5

Carlos Eduardo Scheidegger
cscheid@cs.utah.edu
cs6630

Project 4: Vector Visualization

Part 1: Test Volumes

To test the vector visualization routines, we used three test volumes 30^3 each. To visualize these, I used a mixture of arrow glyphs and streamlines seeded at a sphere around the critical point. The VTK pipeline follows, as given by a dataflow in VisTrails.


Pipeline for the test volumes

The critical point of the vector field is on the same location (15,15,15) for all of the volumes, so the only change between the pipelines is the filename. The visualization of the three volumes follow.


Test vector fields

Part 2: Challenge Volumes

For the challenge volumes, I used a combination of transparent isosurfaces of scalar fields, transparent glyphs and streamlines. My objective was to exploit nestedness of isosurfaces of different scalars along with colormaps to give the first impression of the vector field. Next, streamlines were used to highlight critical points and overall field topology, while almost-transparent vector glyphs provided more detailed information in case the user wanted to see it.

Challenge Volume 0

This challenge volume has 4 critical points, as follows:

LocationTypeMagnitude Color
(40,26,31)CenterLow Red
(25,16,19)Repelling NodeHigh White
(16,24,14)Saddle PointHighCyan
(16,18,24)Saddle PointLow Yellow

(Technically, on the critical point itself, the vector magnitude is always zero. But the sampled magnitude just around it was either high or low, as indicated). The two highlighted critical points I chose follow.

They are two saddle points, with the magnitude of the vector field differing, as can be seen by the relative size of the arrow glyphs. The saddle-behavior can be seen from the different directions of the glyphs in the top and bottom side.

The final two figures were designed to give a global visualization for Challenge Volume 0. The first is a combination of glyphs and colored streamlines. The saturation of the streamline was used to depict magnitude of the velocity of the vector field as the streamline goes. It becomes very clear which magnitude around the critical point is happening. The streamlines were integrated without bounds, so that they help give a general feel for the flow. Finally, the arrows were made almost transparent to reduce the clutter. This is the first such visualization:

The second visualization was created with a set of 10 nested, transparent isosurfaces, colored with respect to the magnitude of the vector field. This allows us to see the general trend of velocity in the entire dataset. The more satured the isosurface, the slower fluid is flowing there. As much as this colormap seems backwards, it will tend to show vortices as reddish looking surfaces that will catch the eye, and it's usually vortices that users are after in vector-field visualization:

Challenge Volume 1

This challenge volume has 6 critical points, as follows:

LocationTypeMagnitude Color
(20,30,20)Repelling NodeHigh Red
(6,30,15)Saddle PointLow Cyan
(36,15,20)CenterLow Yellow
(46,46,20)CenterLow White
(56,15,20)CenterLow Orange
(66,46,20)CenterLow Purple

The two selected critical points are the following:

The first one is a saddle, as can be seen by the arrow glyphs approaching the sheet of streamlines with opposed velocities. The second critical point is clearly a node: all the streamlines point outward from the critical point. To see that it's a repelling node and not an attracting one, we use arrow glyphs that show the direction in which the flow is going.

The two figures that show global infromation about Challenge Volume 1 use the same techniques as the ones depicted in Challenge Volume 0: the first employs a combination of colored streamlines and arrow glyphs, while the second isosurfaces the velocity magnitude in several points and colors the surfaces appropriately using increased saturation.

We can see that the streamlines clearly show the rotational dominance of the fluid near the center critical points, while the combination of the repelling node and saddle create an "umbrella" of sorts. Also note that the coloring of the streamlines clearly show that the only critical point with high velocity magnitude is the repelling node. In the second figure, we can directly see that the highest velocities are around the repelling node, while there are three main line-like vortices with slow velocity. These are the ones we'll explore with the derivative visualization next.

Assignment for cs6630

Challenge Volume 0

First, we show isosurfaces of the vector magnitude colored with the divergence. The colormap shows negative divergences in red, conservative portions (zero divergence) in grey and positive divergences in blue. Notice how the saddle point shows up as a critical point with both positive and negative divergences around it, while a repelling node shows up as a purely positive divergence critical point. Since divergence is physically interpreted as "how much mass is being lost in the parcel", it becomes clear that the negative parts around the saddle point are precisely the regions through which the fluid is approaching the critical points, while the blue parts are the exiting routes.

The curl of a flow gives an indication of the rotational intensity of the flow. In other words, it tells how much the neighborhood of a point is "spinning" around the point itself. For the curl magnitude visualization, we use a simple saturation-only colormap, since magnitude is always non-negative. (In other words, we can't tell whether something is counter-clockwise or clockwise in 3 dimensions). Here we can see that curl is always strong near the center critical point, but that it's also strong in the vortex tube both upstream and downstream from the critical point. Also, there's a big curl near the saddle critical point, since the neighborhood of the saddle changes direction very quickly.

Finally, the two last images for challenge volume 0 show a global view of the field, using many different techniques. First, I show divergence by isosurfacing the divergence field itself and coloring it with the previously described lookup table. Since visualizing the curl magnitude as another field would probably be confusing, I decided to use cylinder glyphs to show the axis of rotation. The higher the curl magnitude, the larger these axes are depicted. They are shown completely opaque, but since the axes are very thin, only the places with large curl stand out. Finally, to show the entire vector field structure, I put very transparent arrow glyphs of the vector field itself. I think that the divergence and curl help on the overall visualization especially because they help determine the kind of critical points we're dealing with. Particularly, the structure of a saddle critical point and a center critical point become very clear.
Challenge Volume 1

The presentation of divergence and curl for this challeng volume follow exactly the previous one. I will then only comment on the field structure itself, and not on the visualization techniques.

Notice again how the repelling node has strongly positive divergence, and how easy it is to distinguish it from the other points. Also, the isosurface shells are skewed to the right due to the influence of the saddle point to its left, that "pushes" the field rightwards. Notice how the vortices again show slightly negative divergence, which leads me to believe this is due to some artifact on the discretization procedure, since vortices are supposed to be conservative.

Notice for the curl magnitude visualization how the vortex tubes around the critical points get the highest saturation, as expected. Unfortunately, since in this first visualization we are supposed to use the vector magnitude and not the curl magnitude for the isosurface itself, some of the highest values might be missed. We'll deal with this in the following visualizations.

For the final visualization, we show the global structure with the same techniques as before. Now we can clearly see that the vortex tubes represent the region with highest curl, while the biggest changes in divergence occur near the saddle and repelling critical points. The actual vector glyphs also help determining the direction of the flow if the user feels that it's necessary.

About the submitted python scripts

These python scripts were generated automatically from the VisTrails description. They are fully functional and executable, but being automatically generated, they are not specifically easy to read or are documented. These scripts use the new-style pipeline, available on newer versions of VTK. If you want to execute them, this version is available on frodo.sci.utah.edu - just log in using x forwarding and run "python " and it will work.