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.
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.
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.
This challenge volume has 4 critical points, as follows:
Location | Type | Magnitude | Color |
(40,26,31) | Center | Low | Red |
(25,16,19) | Repelling Node | High | White |
(16,24,14) | Saddle Point | High | Cyan |
(16,18,24) | Saddle Point | Low | 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:
This challenge volume has 6 critical points, as follows:
Location | Type | Magnitude | Color |
(20,30,20) | Repelling Node | High | Red |
(6,30,15) | Saddle Point | Low | Cyan |
(36,15,20) | Center | Low | Yellow |
(46,46,20) | Center | Low | White |
(56,15,20) | Center | Low | Orange |
(66,46,20) | Center | Low | 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.
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.
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.
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