Shape and color in glyph-based visualization


Introduction

Glyph-based visualization is a technique to visualize multi-variate data. A glyph is an icon or graphical object that has certain properties such as x, y, z location in 3D space, color, opacity, orientation, shape and size. A single dimension of data is mapped to each of these attributes of the glyph. An array of glyphs is created which is then volume rendered to visualize the data. One such system that is based on glyph-based volume-rendering is the Stereoscopic Field Analyzer (SFA). This paper will look at ways to extend the use of shape and color to visualize data. These extensions are being made to the Stereoscopic Field Analyzer.

The use of Shape

The primary use of shape is to assign a fixed shape to each glyph. For scalar data this shape may be a point, cube, or sphere and for vector data the shape maybe a line, cone or an arrow. Non-continuous or discrete data may be represented by having a different shape for each discrete interval or bucket of data. Work has also been done in using procedurally generated shapes mainly supedquadrics to represent continuously varying data. This project hopes to extend this work by generating procedural shapes that are dependent on a data value. This is done by generating some distorted version of a basic shape, such as a cube, where the amount of deviation from the basic shape is proportional to the data dimension being mapped.

The idea then is to apply a turbulence type function and use displacement maps to modify some base shape. The base shape may be thought of as the low frequency component and the distortion as the high frequency component of the overall shape. Shape may then be used to represent or map two data dimensions. The first data dimension may be mapped to the basic shape and the second to the amplitude of distortion. The relative frequency of the displacement maps is also important. Too low a frequency with a high amplitude will change the basic shape and too high a frequency will mask the change in amplitude of the displacement. The idea is that the user should be able to see the basic shape in the overall structure of the glyph. If displacement is performed using a Fractional Brownian motion (FBM) type of function then the data dimension may be used to control both the amplitude and the fractal dimension. Object complexity is also important as practical constraints such as the rendering time may limit the number of polygons per object.

Another idea in the use of shape is the gradual refinement of a shape based on the value being represented. In most polygon-based renderers, smooth shapes are approximated using polygons. The number of polygons may be controlled using the data value being represented. Low values of data would result in fewer polygons for the shape and higher values would result in more polygons. An example of this that a circle may be considered an n-sided polygon. In this case the number of polygons defining the circle may be controlled using the value of the data with a minimum number being three.

The use of Color

Color is a very effective way of visualizing data. Currently the use of color is limited to a linear or cubic interpolation between some user-defined colors which represents a single data dimension. An extension on this technique is to divide the glyph into three parts and assign red values to the first part based on the data dimension, keeping the values of green and blue at zero. Similarly the second and third parts of the glyph may be painted with different shades of green and blue respectively. Thus we may now represent three dimensions using color. This concept may be used to increase the number of dimensions but depends on practical feasibility constraints.

Another technique for the use of color involves the use of texture. The idea is to apply a solid texture to color the glyph. This texture may be procedurally generated by a function that depends upon some input parameter. This input parameter can be supplied by the data dimension which we want to visualize. Due to real-time rendering constraints the textures could be computed and stored in a texture map beforehand.


pradyut panda
Last modified: Thu May 7 12:41:25 EDT