Problem Statement
Surface Extraction
Adaptive Representation
Cutting Plane Preview
& Domain Boundary
Web-Based Application
Resulting Images
References
Related Links
A more detailed description of this topic for CESCG 2000 is also available.
The basin visualization system can be tested at the following Applet.
.
Required: Browser (Internet Explorer 5.0 or higher, or Netscape Communicator 6.x), a Java Plugin (JRE 1.3.1 or higher) and Java 3D (1.2 or higher).
Remarks: The Applet takes a lot of memory and calculation time with increasing Level of Detail. Therefore VM parameter "-Xm256m", i.e. 256 MB memory, has to be added to the Java Plugin Control Panel in section "Standard", in order to provide enough memory. This value can be increased and decreased, but it restricts the desired maximum Level of Detail. The used browser has also to be activated in section "Browser". The Applet has approximately 400 kB!
Problem Statement
The long-time behaviour of dynamical systems is described by attractors.
Adjacent points, which have the same attractor, build regions or so-called
basins of attraction. For the visualization it is necessary to construct
the boundaries between these basins of attraction, i.e. boundaries, which
separate regions with different long-time behaviour. This approach is restricted
to three-dimensional dynamical systems. For the classification of a point,
i.e. to which attractor the point belongs to, there be in general no analytical
solutions, therefore a point has to be experimentally classified for instance
with many iterations. Therefore the classification of a dynamical system
is expensive in general and provides no further information, like the distance
from a classified point to the boundary. Classifications should be stored
for later reuse and the number of subdivisions of a region should be adaptive
depending on the local shape, in order to avoid unnecessary refinement,
because of expensive classification functions. This approach is not just
restricted to dynamical systems. All data sets, which can be continuously
described by binary or general classifications, can be visualized with
this approach. Basins of the same attractor have the same color.
Surface Extraction
For surface construction of the boundary the Marching Cubes algorithm
is used. The Marching Cubes algorithm is originally designed just for binary
classified cells, but is also used for generally classified cells. A cell
is binary classified, if it contains exactly 2 different classifications
on its 8 vertices. A cell is generally classified, if it contains three
or more different classifications. Just binary and general cells contain
surfaces. For the triangulation of generally classified cells the cells
are disassembled into several binary cells. These binary cells are independently
triangulated. The triangulation of a general cell is the combination of
the triangulations of its binary cells. This approach leads to a not defined
region at the junction of more than two different regions, which indicates
that it is not more accurate information available about this region. The
size of the not defined region decreases with increasing level of detail.
The advantage of this surface extraction method is a fast and simple construction
and the reuse of the look-up table of original Marching Cubes. The normal
vectors and the exact location of a surface point cannot be calculated
with the usual method, since only classifications are available at the
cell vertices. Therefore the normal vector is calculated from the location
of the resulting triangle. The network traffic can be decreased, if the
normal vector is calculated at the client. This method is sufficient for
the "low-quality" flat shading, which is adequate for the basin boundary
visualization. The position of a surface point is always located in the
center of an intersected cell edge. This position choice leads to a rather
coarse surface, which can be improved with surface smoothing. The principle
of surface smoothing is to relocate a surface point depending on the classifications
of adjacent cells. A more accurate method to approximate the exact position
of a surface point is to check the classifications along a considered edge.
This method returns the best results, but is much more expensive. The constructed
surface consists of double-sided triangles with different front and back
side colors, since the surface displays always the color of the region
behind it.
Adaptive Representation
The adaptive representation of data sets is realized with an octree.
For compact classification storage there are three leaf node types distinguished
depending on the number of different classifications within a cell. Simple
leaf nodes store only one classification and contain no surface. Binary
leaf nodes store exactly two and general leaf nodes store 8 classifications.
The refinement of a cell depends on the type of a leaf node and adjacent
cells by estimation of curvature and the fulfilment of consistency criteria.
Simple (empty) nodes are just subdivided, if they are intersected by a
surface of an adjacent non-empty cell, such a kind of local surface tracking.
Rare general nodes are always subdivided, in order to minimize the error
of not defined regions. Binary nodes are subdivided, if the curvature respectively
angle with adjacent cells is to high or the consistency criteria are not
met. The consistency criteria guarantee easy and fast connection between
cells with different sizes and compact representation for storage and transmission.
The refinement of a cubic cell is performed by a subdivision into 8 equal-sized
subcubes. The constructed triangles are stored in a symbolic, compact way,
supported by a limited number of positions of surface points (triangle
vertices). The progressive refinement is controlled by the current view
direction, in order to subdivide regions first, which can be currently
seen by the user. After a refinement the changes are just transmitted to
the client (user).
Cutting
Plane Preview & Domain Boundary
A domain boundary is used, in order to get a better overall view of
the basin boundaries, since they are double-sided with different colors.
The domain boundary is the surface at the edge respectively face of the
octree. For the exploration of dynamical systems it is also necessary to
construct cutting planes of the intersection of orthogonal planes with
the data set. The construction of a cutting plane with a higher resolution
is also expensive and not interactive, because of the expensive classification
function. Therefore a fast preview is provided, which reuses the stored
classifications in the octree, in order to select a position for calculation
of the complete cutting plane. The closest classifications of intersected
leaf nodes of the octree are projected onto the cutting plane. The advantage
of this approach is the reuse of expensive classifications of the octree
and the adaptive representation of homogeneous regions. The preview of
a cutting plane is at least 5 to 10 times faster as the complete cutting
plane and makes also fast animations of a moving cutting plane possible.
Web-Based Application
The basin visualization was designed to support also the application
over networks like the Internet. A surface-oriented approach was used instead
of direct volume rendering, so the geometry have to be once constructed
and transmitted for a data set. Since the approach is view-independent
no further information have to be transmitted over the network, if the
view point changes. The progressive refinement of the approach makes also
an early, low-resolution preview of the results possible. During progressive
refinement only parts of the geometry have to be changed, so only these
changes have to be transmitted. The normal vectors of triangles do not
have to be transmitted, since they can be calculated from the position
of the triangles. The normal vectors have to be calculated at the client,
which is a drawback at slow clients. The network traffic can also be reduced
by the compact, symbolic representation of the geometry. It has the same
drawback as the savings from the normal vector calculation, since the calculation
of the necessary geometry representation has to be performed at the client.
Essential References
Agiza, H. N., Bischi, G. I., Kopel, M., "Multistability in a Dynamic Cournot Game with Three Oligopolists", Mathematics and Computers in Simulation 51, 1999, pp. 63 - 90.
Cline, H. E., Lorensen, W. E., Ludke, S., Crawford, C. R., Teeter, B. C., "Two algorithms for the three-dimensional reconstruction of tomograms", Medical Physics, Volume 15, Number 3, June 1988, pp. 320 - 327.
Engel, K., Grosso, R., Ertl, T., "Progressive Iso-surfaces on the Web", Late Breaking Hot Topics, IEEE Visualization, 1998.
Engel, K., Westermann, R., Ertl, T., "Isosurface Extraction Techniques for Web-based Volume Visualization", IEEE Visualization 1999, San Francisco, USA, pp. 139 - 146.
Hege, H.-C., Seebaß, M., Stalling, D., Zöckler, M., "A Generalized Marching Cubes Algorithm Based On Non-Binary Classifications", Technical Report SC-97-05, Konrad-Zuse-Zentrum für Informationstechnik (ZIB), 1997.
Lorensen, W. E., Cline, H. E., "Marching Cubes: A High Resolution 3D Surface Construction Algorithm", ACM Computer Graphics, Volume 21, Number 4, July 1987, pp. 163 - 169.
Müller, H., Stark, M., "Adaptive Generation of Surfaces in Volume Data", The Visual Computer, 9(4), 1993, pp. 182 - 199.
Nielson, G. M., Franke, R., "Computing the Separating Surface for Segmented Data", IEEE Visualization '97, October, 1997, pp. 229 - 233.
Peitgen, H.-O., Jürgens, H., Saupe, D., "Chaos and Fractals: New Frontiers of Science", Springer-Verlag, 1992.
Thürmer, G., Wüthrich, C. A., "Normal Computation for Discrete Surfaces in 3D Space", EUROGRAPHICS '97, Volume 16, Number 3, 1997, C-15 - C-26.
Wallisch, B., "Internet-Based Visualization of Basin Boundaries for
Three-Dimensional Dynamical Systems", Master Thesis, Vienna University
of Technology, 2000.
Related Links
BandViz
Project
Java & Java 3D
Detailed
description for the CESCG 2000