%\documentclass[review]{siggraph}
\documentclass[cameraready]{siggraph}
\input{psfig} 
\usepackage[dvips]{graphicx}
\usepackage{dfadobe} 
\usepackage{amsmath}
%\acmcategory{Research}
%\acmformat{review}
\contactname{Kwan-Liu Ma}
\contactphone{(530) 752-6958}
\contactfax{(530) 752-4767}
\contactemail{ma@cs.ucdavis.edu}
\contactaddress{Department of Computer Science\\
University of California\\
One Shields Avenue, Davis, CA 95616}
% keywords are below
\keywords{animation, visual perception, particle systems,\\ 
 scientific visualization, volume rendering}
\estpages{5}


\title{Kinetic Visualization \\
A Technique for Illustrating 3D Shape and Structure\\
%{\normalsize \sc Paper ID: 0195} 
}

\author{Eric B. Lum  \and  Aleksander Stompel \and Kwan-Liu Ma}


\affiliation{Department of Computer Science\\
University of California at Davis}

\date{}

\begin{document}

\maketitle

\begin{abstract}

Motion provides strong visual cues for the perception of shape 
and depth, as demonstrated by cognitive scientists and visual 
artists. This paper presents a novel visualization technique 
-- kinetic visualization -- 
using particle systems to add supplemental motion cues which 
can aid in the perception of shape and spatial 
relationships of static objects. Based on a set of rules following 
perceptual and physical principles, particles flowing 
over the surface of an object not only bring out, but also attract
attention to essential shape information of the object
that might not be readily visible with conventional rendering 
that uses lighting and view changes. Replacing still images with 
animations in this fashion, we demonstrate with both surface and 
volumetric models in the accompanying {\em mpeg} file that in many 
cases the resulting visualizations effectively enhance the 
perception of three-dimensional shape and structure. The results 
of a preliminary user study that we have conducted also show 
clear evidence that the supplemental motion cues helped.

\end{abstract}

\keywordlist {
%animation, kinetic art, particle systems, \\
%scientific visualization, visual perception, volume rendering
}

\section*{Note to Reviewers}
Because of the nature of the techniques presented, 
while reading the paper the reviewers are advised to 
watch the accompanying videos in order to follow the 
exposition.  A copy of the video can also be downloaded from:\\
\centerline{\tt \small http://www.cs.ucdavis.edu/\~{}ma/kinvis.mpg}

\section{Introduction}

Time varying sequences of images are widely used in visualization as a
means to provide an extra dimension of information for perception to
occur.  This animation might be as simple as the changing of camera or
object positions or can include animations resulting from time varying
changes in the data itself. However, using motion that is independent
of changes in viewing direction for conveying the shape 
information of {\em static objects} has been a rather unexplored 
area. In this paper, we describe a new visualization technique, 
which we call {\em kinetic visualization}, creating animations 
that illustrate the shape of a static object in a perceptually 
intuitive manner. 

This work is motivated by the observation that the flow of fast moving 
water over a rock, a dynamic flame from
an open fire, or even a flock of birds exhibit motion that gives 
the perception of shape. Our technique is built on the inspirations we
received from kinetic art~\cite{Zeki99}, the studies done in 
cognitive science, specifically on 
structure-from-motion perception~\cite{Andersen98,Treue91}, 
the ideas of particle systems~\cite{Reeves83}, 
and the work of Interrante~\cite{Interrante_tvcg97} on using texture 
to convey the shape of overlapping transparent surfaces.
It is unique because we are able to apply motion as a supplemental
cue to enhance perception of shape and structure, 
and because the motion is created not only according
to the characteristics of the data but also using a set of rules 
based loosely on physics and biology. 

% ebl2
%This work is also motivated by the fact that in some case current graphics
%hardware is more than sufficient for the interactive rendering of 
%data sets at the resolutions they were aquired. The challenge then 
%becomes how to use the extra computational resources to make even 
%more effective visualizations. 
% ebl2: I don't like the way this paragraph is going
%  Almost never do you hear people say their hardware is "fast enough"
% In fact, I dare say never do you hear people say that
%
\subsection{Visual Cues}

With traditional rendering methods lighting provides valuable 
spatial cues that assist spatial perception. Considering Lambertian 
surfaces, the illumination equation~\cite{Foley96} 
accounting for both ambient light and diffuse light is\\\\
\centerline{ \(I = I_{a}k_{a} + I_{p}k_{d}( N{\cdot}L)\)}\\\\
where $I_p$ is the pointlight source's intensity.
The dot product in this equation has the effect of transforming 
the three-dimensional surface normal into a one dimension 
light intensity seen by the viewer. 
This loss of dimensionality results in ambiguity in surface
orientation since multiple normal orientations can map to the same
light intensity. For example, under some conditions concave and convex
shapes can have similar appearances, despite the surface orientations
being entirely different.

The normal direction can be made less
ambiguous with the addition of specular lighting.
%which, however, is view dependent.  
Phong illumination
adds a $V{\cdot}R$ term, where $V$ is the view direction and $R$ 
is the reflected light direction,
which has the effect of indicating shape using not only the normal
vector, but also the derived reflectance vector.  This vector is once
again transformed into a one-dimensional quantity with a dot-product
operation. By rotating an object, the viewer can better resolve the
shape of an object since rotation varies the direction of the
normals with respect to the light and viewer. This helps 
disambiguate the loss of
dimensionality from the dot-product operation.  The changing of viewpoint
can also aid in spatial perception by exposing different sets of 
silhouette edges on the object.
%%

% something should be said about how changing the viewpoint
% exposes new edges. So far this only discusses lighting,
% but edges also extremely important for perception and are not
% mentioned.

The focus of our work is to use motion from moving particles
to even further disambiguate surface orientation. 
%...visual cues are discussed along with the 
%motion strategies that we have developed. 
The technique introduced in this paper is not meant to be a 
replacement for traditional rendering techniques that use lighting 
and viewpoint changes to indicate shape, rather it can augment 
those methods for more intuitive and effective visualization. 

We have applied kinetic visualization to two different types 
of static data. One includes surface models represented as 
polygonal meshes, in which case particle motion is influenced 
by surface normal, principal curvature direction, and curvature 
magnitude. The other type 
of static data is regularly sampled scalar volumetric data 
where scalar value, gradient magnitude, gradient direction, 
principal curvature direction, and opacity are used in the 
calculation of particles motion. 


\section{Related Work}

%% Vicki's work

The perception of depth through motion, called "structure-from-motion",
has long been studied in psychology~\cite{Wallach53}. 
Treue et al.~\cite{Treue91} demonstrate that the movement of points 
on an object can give the perception of shape, using as stimulus a 
rotating cylinder with a random dot pattern on the surface.
Their work shows a "building up" time is required for mental generation
of a surface representation from the integration of point velocities.
They also find that subjects were able to perform various tasks with
peak performance when points had lifetimes of at least 125 milliseconds (ms)  
and that with lifetimes of less than 60 ms shape perception 
from motion did not occur.


Further work by Andersen and Bradley~\cite{Andersen98} demonstrates 
that structure-from-motion perception requires either a large number 
of dots, or fewer dots that appear in varying positions over 
time~\cite{Andersen98}. Their work also suggests that the 
middle temporal area (MT) of the brain is essential for the
structure-from-motion perception.

Wanger, Ferwerda, and Greenberg~\cite{Wanger92} explored visual cues
by conducting three psychophysical experiments in which the accuracy
of interactive spatial manipulation performed by subjects was measured. 
Their study shows that different visual cues facilitate different tasks.
Motion is found to have a substantial positive effect on performance 
accuracy of orienting tasks in which spatial location is less important 
but relative alignment information is needed. 

Kinetic art incorporates real or apparent movement in a painting or
sculpture. Kinetic artists often use various means to de-emphasize 
form and color in favor of movement. From studies in neurology, 
it is evident
that an entire area of the brain is devoted to processing motion 
information. Zeki~\cite{Zeki99} proposes that the same area is essential
for appreciating kinetic art.  In neurological terms, when activity
in one area of the brain increases, activities in other areas would
decrease. We need to take this into account when emphasizing motion.

%Art
%	A. Kinetic Art
%		Calder mobiles-emphasised motion over form (cite)
%		"Others, since and before, have tried various means of
%		de-emphasising form in favor of movement" bottom page
%		161

Motion blur~\cite{Cook84,Potmesil83} captures the effect of motion
in stills and is also widely used in producing realistic animations. 
The work presented in this paper deals with the inverse problem, 
where instead of using a static image to represent a dynamic phenomenon, 
dynamic animations are generated for the visualization of static data.

Motion without movement~\cite{Freeman91} assigns perceptual motion to
objects that remain in fixed positions by using oriented filtering. 
This technique can generate a continuous display of instantaneous motion. 
Line integral convolution~\cite{Cabral93}, based on the same principle, 
low-pass filters a noise function along a vector field direction 
to create visualization of direction information.

Our work applies particle systems,  
which have been used  to model a set of objects over
time using a set of rules~\cite{Reeves83}. They have been applied to
the modeling of a wide variety of phenomena, including smoke, fire, and 
trees, using a set of either deterministic or stochastic rules of 
motion~\cite{Foley96}. 
%Particle systems are typically  characterized 
%by a set of rules that govern their positions over time.  
These rules can be based on physics, for example gravity, 
or even biology, as is the case with flocking behaviors.

The shape, density, transparency and size of particles can have an impact
on the visual appearance and resulting perception cues. 
Interrante~\cite{Interrante_tvcg97} has done a comprehensive study 
on using opaque stroke texture to improve the perception of shape and depth 
information of overlapping transparent surfaces. 
Our work considers particle shape to some extent, although the focus
of our work is particle motion, rather than shape.
%non-opaque texture and opaque surfaces. 
%Our work also considers non-opaque texture and opaque surfaces. 

Using particles as a representation of shape is also related to point based
rendering.  Point based rendering algorithms typically use reconstruction
filters that disguise the appearance of the point
representation~\cite{Zwicker01}. In some ways our work can be thought of 
as a variation of point based rendering where the points move over 
time and are intentionally made visible.

In the volumetric case, our work is analogous to splatting~\cite{Westover89} 
with a limited budget of splats.  The location and size of each particle are
not specified to represent the entire volume, but rather are positioned such
that their location and movement create a dynamic representation of the 
static volume.  In this way, our technique allows for the volume 
visualization of extremely large volumetric datasets with a limited 
rendering budget.

%L. Westover. Interactivevolume rendering. In Proceedings of the Chapel Hill Workshop on Volume Visualization, pages 9--16, 1989.


\section{Motion Strategies}

In this section we discuss the set of rules we apply to generate geometrically
meaningful motion.  The overall goal is to create rules 
resulting in particles that indicate shape by smoothly flowing over an 
object, with locally consistent directions, and a density distribution
that does not let particles "clump" together in regions of little
interest. Many of the rules imposed on the particles are loosely based
on biology or physics. It is our belief that these types of rules are 
desirable since they are similar to the types of stimulus the human
visual system has been adapted to process.

% something should probably be said somewhere about particle speed
% right now the implementation just uses constant velocity
% which in my mind is what should be the case
% Slow velocity gives the impression of depth, or particles moving
% along the view direction. If particles are allowed to have non-constant
% velocity these cues are lost, giving the wrong impression

\subsection{Motion Along the Surfaces}

Since we would like to better illustrate an object's shape, rules are
imposed to constrain the motion of particles to be along a surface.
The motion of particles along an object's surface can help
improve shape perception, over time presenting the viewer with a set
of vectors (trajectories) that run parallel to a surface. In the case
of viewing a mesh, this rule is accomplished by simply constraining the
particles to lie on the mesh.

In the case of volumetric data, the rules are applied to restrict
motion along directions of high gradient.
% Alex: no c, opacity is not used. 
Movement in the direction of a particle is reduced along the gradient
direction depending on gradient magnitude as described in the following 
equation:\\\\
\centerline{\({\vec{v}}_{n+1} = {\vec{v}}_{n} - (\vec{g} {\cdot} \vec{v_{n}}) \vec{g} \)}\\\\
where ${\vec{v}}_{n+1}$ is the new direction, and ${\vec{g}}$ is the gradient direction. 
This results in particles that move along the surface that is of interest to us and don't leave hat surface. The expected numerical instabilities which could be expected with 
such updates were unnoticeable for even the longest living particles, and thus ignored by us. 
After every iteration, velocities are normalized to have constant magnitude, or speed. A particle with
reduced speed in projected screen space thus provides cues it 
is either moving in a direction near parallel to the view direction or 
is far from the viewer and thus has reduced speed on the screen as a 
result of perspective. If particle speed was allowed to vary, such depth and 
orientation cues would be lost.
%End Alex

\subsection{Principal Curvature Direction}

The principal curvature directions (PCDs) indicate the direction of minimum
and maximum curvature on a surface.
Interrante~\cite{Interrante97} describes how line integral convolution 
along the principal curvature directions can generate brush-like
textures that create perceptually intuitive 
visualizations since the resulting textures 
"follow the shape" of the object being rendered.
Similarly we use principal curvature directions to create particles
that "follow the shape" of a surface. 
% Alex - particles always try to fit only one of the direction. udar has no effect on that. 
Particle velocities are adjusted so the particles flow in a direction that favors 
the primary principal curvature direction. 
This can be expressed as: \\\\
\centerline{\({\vec{v}}_{n+1} =  ( {\vec{v}}_{n}({1} - {s}{c}_{m}))+({\vec{v}}_{c}({s}{c}_{m}))$}\\\\
where $s$ is a scale factor for the principal curvature direction specified interactively by scientist,
${\vec{v}}_{c}$ is the principal curvature direction vector, and ${c}_{m}$ is the magnitude of the principal 
curvature direction vector. Note that a curvature direction at any point is the same forward 
as backwards. When PCD is incorporated with the velocity, its orientation is
adjusted so that it is most consistent with the current velocity of 
the particle. The PCD rules result in particles that smoothly 
flow over an object, although the particles are not guaranteed
to move in the same direction.
%End Alex

\subsection{Consistent Orientations}

The motion of dots in opposite directions can suppress response to
the middle temporal (MT) area of the brain and can give perceptual 
cues of differences in depth~\cite{Andersen98}.
We therefore use a set of rules that move particles 
in directions consistent with their neighbors. This is 
particularly important since the PCD-based rule in the previous section
results in particles that can follow a PCD in opposite directions.
We use two different types of rules to enforce consistency. 

The first method we use to give the particles more consistent orientations
is to give the particles flock-like behavior. Flocks exhibit motion that 
are fluid, with each member still exhibiting individual behavior. Thus 
flocking can be used to add local uniformity to particle motion while
still allowing  particles to have motion shaped by outside forces like
principal curvature direction. Reynolds~\cite{Reynolds87}
presents a method for creating
flock-like particle systems using behaviors that include velocity matching,
collision avoidance, and flock centering. 
%Alex - few changes and the equation... 
We have found that adjusting particle velocity towards the direction of 
flock velocity to be an effective method in yielding more consistent 
particle velocities. This rule makes each particle attempt to match the 
velocity of its neighbors. We use a weighted function that computes 
the average flock velocity for each particle based on neighboring 
particles velocities and also on the distance of other particles 
from the primary one. The equation used to adjust velocity of particles to the
flock velocity can be expressed as:\\\\
\centerline{\({\vec{v}}_{n+1} =  (({1} - {k}){\vec{v}}_{n})+({k}{\vec{v}}_{f})$}\\\\
where $k$ is a percentage of the contribution by flock vector to the particle velocity 
which can specified interactively by scientist, and ${\vec{v}}_{f}$ is the flock vector 
for this given particle. 
%End Alex
By not enforcing strict velocity matching, particles can still exhibit 
motion influenced by other rules, like principal curvature direction, while still
adding consistency with respect to their neighbors. Collision avoidance 
is used to give particles a more uniform distribution and will be 
discussed in the next section.  Flock centering is not used since it 
is not our intention to have the particles stay together as a coherent unit
but rather to create particles exhibiting locally flock-like behavior.
%Alex
A simpler method for giving particles a consistent orientation is to 
simply define a ``preferred'' direction the particles must move, which
can be expressed by the following equation:\\\\
\centerline{\({\vec{v}}_{n+1} =  (({1} - {k}){\vec{v}}_{n})+({k}{\vec{d}})$}\\\\
where $k$ is a percentage of the contribution by preferred direction which can be 
specified interactively by scientist, and ${\vec{d}}$ is the preferred direction.
%End Alex
The result is a flow of particles that move over a surface with an 
appearance similar to water flowing over an object. One drawback of 
this approach is that at the extreme ends of an object, where the 
particles flow from and flow into, the direction of the particles 
is not consistent; that is, the particles would move in opposite 
directions either to or from a point on the surface.

\subsection{Particle Density}

Treue et al.~\cite{Treue91} demonstrate that if moving stimulus 
become too sparse,
shape perception is diminished. Consideration must therefore 
be taken with regard to particle density. 
Since the number of particles
has a direct influence on rendering time, it is desirable to have
a set of rules that efficiently uses a limited budget of particles.
In addition, rules regarding particle density are necessary 
since following principle curvature directions can result 
in particles accumulating in local minima.

By using a set of rules based on magnetic repulsion, more uniform
particle densities can be achieved. Particles are modeled as having
a magnetic charge of the same sign, and are repelled from their
neighbors with a force inversely proportional to the square of
the distance of the neighbors. This is similar to the rule 
Reynolds uses for flock collision avoidance~\cite{Reynolds87}. 
In order to avoid numeric instability
from particles that are too close, the total force is clamped. 
%Alex - eq, few chnages
The adjustment to the position of each particle can be expressed by the following equation:\\\\
\centerline{\({P}_{n+1} =  {P}_{n}{c}{d}_{t}$}\\\\
Where {P} is the position of particle, {c} is the percentage of the contribution 
by magnetic repulsion which can be specified interactively by scientist, and ${{d}_{t}}$
is a delta time, which is needed since the contribution is made directly to the position 
and not the velocity vector. 
%End ALex
Using this technique results in more uniform particle densities. 
Use of this rule, however, must be limited, since it can
result in particles that move with velocities contrary to principal 
curvature direction.
%Alex - idea of food, maybe more about just density... 

Another method for controlling particle density is to use particle
lifetimes designed to prune particles from high density regions, and 
favor them in regions of low density. During each update iteration we
calculate the density around each particle and upon it we decide if
particle need to be removed or can stay, where we use a threshold value that is about 
twice as large as the average density for the whole system as the cut point. 
Then, we reinsert the same amount of particles that was removed where we require
each new insertion to fall into a region below the average density value for the 
whole system. The function that calculates the density for each particle can also 
be artificially manipulated to yield higher particle densities in regions of interest.
For example, density can be "reported" lower at regions of high curvature, or
in front-facing visible regions. In addition, in the volumetric case, 
density can be "reported" higher in highly transparent regions resulting in 
a higher density of particle in opaque regions. It is important, however, 
that particles are not allowed to die too quickly since particles shown for 
too short a period are ineffective for the perception of structure from motion.
Therefore we require each particle to stay alive for certain amount of iterations before it 
can be removed. This required value can be specified interactively by scientist. 
%End alex

\subsection{Particle Color}
% Interrante says "Abundant psychophysical evidence indicates that 
% shape and depth perception are almost entirely mediated by the 
% luminance channels in the human visual system.
% but she does say it can be used to encode a "third variable"
% Her work pre-dates the Gooch paper
The color of each particle can be varied to provide additional
information. Gooch et al.~\cite{Gooch98} 
describe how variation in color tone, or
temperature, can be used to indicate shading, reserving variation in
color intensity for silhouettes and highlights.  
Schussman et al.~\cite{Schussman00}
use tone to indicate line direction when visualizing
magnetic field lines. Either of these ideas can
be incorporated as a particle system rule. The tone of each particle
can be varied from cool to warm based on lighting. Particles can also
have their color temperature varied depending on direction, with
particles having a velocity toward the viewer being rendered in warmer
colors than receding particles. Particle tone can also be used to
indicate other scalar values, such as curvature magnitude or gradient
magnitude for volumetric datasets.

Special consideration must be taken into account with regard to 
particle color when combined with traditional rendering techniques.
For example, if particles are to be drawn on top of a surface, the
particles should not be the exact same color as the surface or they
will not be visible.  
In addition it is often necessary to have particle color intensity 
vary based on shading parameters. This is particularly helpful when the 
particles are dense, since they can obscure the lighting cues 
provided by the underling surface. If particles are lit, a  
different set of lighting parameters should be used for the particles
in order to avoid their blending in with the surface and becoming
difficult to see, especially when a particle is in a darker region. 
For example, if particle and surface are both rendered in extremely 
dark colors, it can be difficult to see the particles, even if 
they differ in hue from the surface.
%Alex
In our implementation we allow scientist to vary the particle color based on
gradient magnitude, view vector and velocity vector. Each of these adjustments
in color can be used alone or combined together. For gradient magnitude based adjustment 
we increase the hue component value of the color depending on the magnitude of the gradient. 
For view vector based adjustment we use the Z component of the view vector to shift the hue component 
of the color in each direction depending on the Z Value. And eventually, for color adjustment based on
particle velocity we map each X,Y,Z component of the velocity vector into each primary color: Red, Green, and Blue.
To avoid rapid changes in particles colors, we use previous color value in computing the new
color as well. Thus changes are smooth and pleasing to the human eye.  
%End Alex

\subsection{Particle Shape}
The size and shape of each particle can also influence how it 
is perceived. For example, if particle size is varied based on density
such that the gaps between particles are filled, more traditional point
based rendering occurs. Since for our work individual particles must be
visible for their motion to be perceived, particles are rendered 
small enough that overlap with neighbors is minimal. 

There are a number of ways that particle size can
be varied. Particles can be rendered in perspective such that closer
particles appear larger than further particles, providing a visual cue
of particle position. Particle size can be varied based on local density
such that the gaps between particles is uniform, similar to splatting.
Finally, particle size can simply be kept constant.

Interrante~\cite{Interrante_tvcg97} found stroke length to 
be critically important in her work 
using strokes oriented along principle curvature directions. 
%% MAYBE WE DON'T want to say this?
%% Maybe we should say it _is_ important, we just didn't investigate
%% since our emphaiss is motion
Since in our work direction is indicated by temporal means, the 
importance of particle shape is reduced. Nevertheless, 
particles can be given a stroke-like
appearance as a temporal anti-aliasing mechanism, or to simply make
particle direction more clear.  Particles can be rendered as small
"comets" with a tail that indicates the direction the particle came
from in the previous frames. Particles can also be drawn as curves that
indicate the position of the particle over some period of time. 

%ebl2: the below seems too negative
%Alex
%In our implementation we allows scientist to control all these parameters 
%interactively until he/she believes found the best possible combination 
%that matches his/her needs. We believe this interactivity is very important since it
%is difficult and sometimes takes considerable amount of time to find 
%the a set of parameters that produce results that are of interests 
%and in fact enhance the shape perception. 

% slighly more positive
In our implementation we allow the scientist to turn off and on the various
rules and tune motion paramters until the desired visualization is
achieved. The interactivity of this process allows the quick selection of 
parameters that are appropriate for emphasizing the regions of interest
to the user.


% ebl2: the below seems almost too detailed
% 
%End Alex
%Alex UI subsection
%\subsection{User Interface}
%With so many parameters contributing and interacting with each other to produce 
%the final result, to have an intuitive and easy to use user interface was 
%of special importance. We were developed our interface together with the rest of our
%project, maintaining it simple yet complete. With the exceptions of transfer function and color 
%controls, we used a common control used by Microsoft Windows environment thus reducing
%the learning curve to less than 15 minutes in all our tries with people not directly
%involved with development of our project. Figure 2 demonstrates the large amount
%of parameters that can be manipulated by scientist to produce the best possible results.
%End of Alex

\section{Demonstration}

We experimentally studied kinetic visualization on 
a PC with an AMD Athlon 1.4 Ghz processor and Geforce 3 graphics 
card. With this low-cost system we are able to render 
thousands to tens of thousands particles at 20 frames per second, 
depending on the type of particle system rules used.
If more particles are used than can be rendered at interactive rates, 
animation can be generated in an offline batch mode.

To demonstrate kinetic visualization, several animation sequences
have been made and included in the VHS tape accompanying 
this paper. Note that all rendering, including volume rendering,
was done in hardware to achieve maximum 
interactivity. Consequently, the image quality, especially for the 
volumetric models, is not as good as what a software renderer could
achieve. Figure~\ref{models} shows the four models used for the 
demonstration: 
a PET scan of a mouse brain ($256{\times}256{\times}256$),
a CT tooth volume ($256{\times}256{\times}161$),
a distorted ball model (15872 polygons), and 
a subdivided Venus model (5672 polygons).
%Please begin to play the video.

\begin{figure}
\mbox{
\psfig{file=pet1.ps,width=1.7in,height=1.7in}
\psfig{file=tooth.ps,width=1.7in,height=1.7in}
}
\mbox{
\psfig{file=ball.ps,width=1.7in,height=1.7in}
\psfig{file=venus.ps,width=1.7in,height=1.7in}
}
\caption{Models}
\label{models}
\end{figure}
 
The first video sequence shows the use of our technique in the 
visualization of a mouse brain PET volumetric dataset. The
particles help to illustrate one of the function levels while
direct volume rendering gives their motion context.  
The following still image shows
the type of shape ambiguity that can exist with traditional
rendering techniques.  
It is difficult to distinguish the concave
and convex portions of the model. With the addition 
of the particles, the shape becomes immediately apparent. It is 
not the particles by themselves that clarify the shape, 
rather, it the extra shape cues they provide that work 
in addition to traditional rendering.

The "rules" portion of the video gives examples of each of
the different rules we apply. Notice that with the absence of
rules, the random motion of the particles on the Venus model
does little to clarify shape.  By having the particles
follow the first principal curvature direction, the particles
clearly "follow the shape" of the model. 
%% need to say something else...

The next sequence shows particles moving along the tooth
dataset, but with inconsistent orientations. Although the
particles seem to have a slight shape clarifying effect, 
their contrary motions are distracting and make them difficult
to follow. With the addition 
of flocking, the particles still move along the shape of the tooth,
but move in a much more locally consistent manner. In the
following sequence, particles flow down the Venus model,
in a manner similar to water. The downward tendency
adds consistency to the motion, yet the particles still show
some tendency toward following the first principal curvature 
direction. 

Next, the tooth is shown without density controlling
rules. As the particles move over time, they tend to accumulate
in ridges as a result of following the first principal curvature
direction.  With the absence of particles in some regions, the 
shape becomes less clear. With the addition of magnetic repulsion,
the distribution of particles becomes much more uniform and the
resulting video reveals more shape information. 

The next sequence illustrates the effect of changing particle
size. When particles are large, they can cover a surface
much like spatting, but their motion becomes obscured. 
When particles are small, they can be difficult to see, 
and do little to improve perception.
The last sequence shows kinetic visualization of the PET data 
with changing view direction. 

\section{User Study}
To evaluate the effectiveness of kinetic visualization a user
study was conducted. Height field data sets were generated 
with several randomly placed peaks and valleys, selected examples
of which are seen in Figure~ref{images}. Subjects were asked to 
identify with a 
mouse pointer the closest and furthest (minimum and maximum) points 
on the surface. The height and depth of the tallest and shallowest peaks 
were at least twice as high or shallow as all others.

\begin{figure}
\mbox{
\psfig{file=images/AA.ps,width=0.8in,height=0.8in}
\psfig{file=images/BA.ps,width=0.8in,height=0.8in}
\psfig{file=images/JA.ps,width=0.8in,height=0.8in}
\psfig{file=images/LA.ps,width=0.8in,height=0.8in}
}
\mbox{
\psfig{file=images/AB.ps,width=0.8in,height=0.8in}
\psfig{file=images/BB.ps,width=0.8in,height=0.8in}
\psfig{file=images/JB.ps,width=0.8in,height=0.8in}
\psfig{file=images/LB.ps,width=0.8in,height=0.8in}
}
\caption{Selected test images.}
\label{images}
\end{figure}

Twenty-two subjects were shown 14 different data sets, half of which were
randomly rendered as either a static image with traditional Phong shading, 
or with kinetic visualization.  Thus, the combined subject selected a 
total of 252 minimum and maximum points on surfaces rendered using each method. 
The results, summarized in Table~\ref{results}, indicate
that users could more accurate at selecting both the minimum and maximum
points on the surface with kinetic visualization.  Although the scope of
this user study was fairly limited, we feel the results are extremely
encouraging. In particular since the same motion parameters were constant for 
all data sets, when we have found kinetic visualization to be most effective
when the parameters are fine tuned to a particular data set.

\begin{center}
\begin{table} 
\caption{User study results. }
\begin{tabular}{|l|l|l|} \hline 
Task & \% Correct w/ KV& \% Correct w/o KV \\ \hline \hline
Find Max & 65 & 49 \\ \hline
Find Min & 57 & 42 \\ \hline
Combined & 61 & 46 \\ \hline
\end{tabular}
\label{results}
\end{table}
\end{center}



\section{Conclusions}

This paper shows a further step towards making perceptually effective
visualizations by adding visually rich motion cues.
While more work will be required, our current results are encouraging,
demonstrating that it is feasible and desirable to capitalize on motion 
cues for the purpose of enhancing perception of 3D shape and spatial
relationships. 

We have shown that kinetic visualization nicely supplements conventional
rendering for illustrating both volumetric and surface data models.
We have also shown how the moving particles help reveal 
surface shape and orientation. By utilizing low-cost commodity hardware, 
the kinetic visualization system we have built is very affordable.  
The selective rendering based on particle budget ensures the critical 
interactivity required for kinetic visualization. 

For some classes of data, however, some limitations in the effectiveness
of our technique can be observed. In cases where the principal curvature
direction is not well defined, for example flat or spherical regions, the 
effectiveness of having particles move particle along a principle curvature 
direction is limited. The use of optimization strategies, like that describe by
Hertzmann and Zorin ~cite{Hertzmann2000} could be used to add direction 
consistency in these regions, but consideration would also need to be given 
toward avoid smoothing subtle features of interest. 

Another limitation of our technique it is not appropriate for visualizing 
time varying phenomena.  Since the motion of particles in
our work is based on the geometric properties of a data set, the
motion can give the perception of motion that is contrary to that
which is physically occurring. For example, our technique
would not be appropriate for visualizing fluid flow
since the motion of particles could give a misleading indication
of flow direction. A final limitation of our technique, 
is that in some cases geometric structure is obvious or known
a priori, thus the extra cues provided by our technique are not 
necessary and can even be distracting.  However, scientific 
visualization, by its very nature, often involves attempting
to gain insight into the shape and structure of unknown phenomena.

Despite the limitations listed above, we believe that the effectiveness
of kinetic visualization to clarify structure and enhance understanding
of ambiguous shapes makes it a useful technique that deserves further
study.  Further work includes experimenting with new rules for the particle
movement to convey even more information. More in-depth user studies on 
kinetic visualization could provide valuable feedback into which types 
of rules should be improved. Additional future work includes using improved 
methods for computing principal curvature directions, 
and accelerating the integrated rendering as much as possible to 
attain even higher interactivity. It is hoped the power of motion cues 
will be embraced by more people, helping them effectively 
perceive/illustrate complex or ambiguous object shape and spatial
relationship. 

\section*{Acknowledgements}

This work has been sponsored by the National Science Foundation under
contract ACI 9983641 (PECASE Award) and through the Large Scientific 
and Software Data Set Visualization (LSSDSV) program under contract
ACI 9982251.  The authors are particularly grateful to all of the
people who participated in our user study. 

\bibliographystyle{acm} 
\bibliography{kinvis}
\end{document}



