The dataset consists of 50,000 2D points generated from a picture depicting the grand canyon and each of the 50,000 points has a corresponding scalar value indicating the altitude. We visualize the data using 2D interpolation, color maps, isocontours and height fields. These aspects are discussed in more detail below. In each of the visualizations we set the camera to a default position, but we allow the user to interactively adjust the camera and move throughout the environment. We have also used non-traditional GUI Widgets that are also rendered. We have also provided the ability to take multiple screenshots by pressing the 'm' key. The resolution of the images is double the current size of the rendered window and are saved in the working directory. We set the tube and ball radius relatively large as the visualization looks better from a global perspective. If zooming for a very local view of the mesh, then perhaps a smaller value for the tube and sphere radius are warranted.
Part 1: Scattered Data Interpolation via Delaunay Triangulation
Discussion: In order to render the visualization in a timely manner, we reduced the number of polygons in the spheres by setting the discretization parameters to a low value. We also noticed that not all points were being triangulated and fixed this issue by setting the tolerance lower. The images on the right illustrate the mesh at different zooming/camera settings where the first image is zoomed out the furthest and the last image is a zoomed-in screenshot.
Part 2: Applying Color Maps
Discussion: Both the color transfer function and the look-up table are dynamically built everytime the user adjusts a slider (i.e., using lazy-evaluation/pipelining). As previously, we wrap the edges in tubes where the colors for each edge is determined by adjusting the sliders as seen in the screenshots on the right. We also visualize the vertices as spheres using the same look-up table as the edges. The choice of a particular color map is somewhat subjective, but the selection can be guided by heuristics. For instance, the altitude range is [14,186] and if we further consider other statistical properties of the distribution of altitudes such as the mean altitude, we could intelligently choose the values of A and B such that we map more distinctive colors to the edges and vertices (i.e., we find an optimal balance between blue-green-orange-white where the distribution is split evenly between each color).
Parameter Selection: For the values of A and B we selected 100 and 140, respectively. We used the method above as a heuristic to find the values that provide the most information. We also know that blue regions have the lowest altitude, while pure white regions are among the highest. More precisely, the relationship between color and height is: blue < green < orange < white. From our selected values, we can clearly distinguish regions of the highest and lowest altitudes and regions in between. Further, we see that as we move from left to right, the blue curve disappears gradually. The second screenshot illustrates a zoomed in view where the variance in color is seen more clearly. To make this visualization even more informative from a scientific perspective, we could have set the white color to be the max altitude and the blue color to be the min altitude and then the green and orange could be chosen using the heuristic above based on range and mean.
Part 3: Contour Maps
Discussion: For the contour map visualization we create sliders to allow the user to interactively change the scalar range associated with the generation of the contour lines. We set the default values of each slider to their corresponding min and max altitudes within the specific dataset we are visualizing (i.e., [14,186]). We also provide a slider to allow the user to modify the number of contour lines generated across the selected scalar range. We set the default number of contour lines to 100 and allow the user to generate up to 300 contour lines within the scalar range (i.e., which in this case is smaller). We render the contour lines as tubes and use the color transfer function from the previous part along with the selected values [100,140]. The first image on the right shows the global view of the contour map. This image more accurately highlights the varying regions of altitudes. The second and third images are zoomed-in on a specific location where the contour map is more clearly shown. There is clearly a 3D effect/illusion present.
Part 4: Height Fields
Discussion: This visualization is interesting in several ways. The contour lines based on the altitude have a significant impact on our perception of depth within this scalar field as shown in the first image. The second image (i.e., on the left) offers a global perspective where the number of contours is set to 200 and the scale factor is 2.5. In the other screenshots below, we vary these parameters as well as the camera/level of zooming. This visualization, by far, provides the scientist with the most useful information. We find that the choice of a scaling factor between 2 and 4 seems to be the most optimal and provides a relatively realistic depiction of the Grand Canyon. In particular, we chose 2.5 as our main scaling factor, but the others might be useful as well.
Other Experimental Visualizations
In this section, we have included screenshots from other visualizations using the same dataset. More specifically, we use the scale factor to also brighten the colors and apply a few other filters as well. We also vary other parameters such as tube radius, shading properties, scaling factors, and many others.