[revised: July 30, 2001]
Webbased Visualization Course (Fall 2001, Yap)
Visualization is a basic tool used in many disciplines
to help researchers understand their data.
We need to visualize a variety of datasets:
fluid flows (e.g., weather patterns),
volumetric data (e.g., brain tissues),
geometric models (e.g., aeroplane or engine),
large graphs (e.g., internet sites),
or just abstract tabular data.
A major issue arise from the fact that these
datasets can be very large.
If we want to do visualization on the internet,
this is compounded with severe bandwidth limitations
(we call this ``thinwire visualization'').
Researchers have developed many techniques in recent
years to address these problems. These techniques
are highly dependent on the nature of the datasets.
In this course, we will take a close look at some
important types of datasets,
and the techniques available to handle them.
The following topics will be addressed:
- Thinwire visualization:
techniques to achieve ``responsive'' visualization,
- Foveation: the human visual system is foveated -- how can
we exploit this?
This is connected to wavelet analysis.
- Large data models:
Techniques here include hierarchical (level of detail)
modeling, I/O efficient algorithms,
and database management issues.
- Important data sets:
We study some important datasets:
geometric models such as found in CAD/CAM models,
vector and elevation datasets which arise in
geographic information system (GIS),
and volumetric data.
The technical basis for visualization includes
computer graphics, computational geometry and algorithms.
In addition, our interest in thinwire visualization
requires some networking background
(the use of the TCP/IP).
We will provide most of this background.
This is a hands-on, projects-oriented course.
Programming for computer graphics will require
Java programming (especially Java2D)
and C++ using the OpenGL API. The programming
environment is assumed to be Unix/Linux
(we highly recommend the free "Cygwin" system
that sits on top of Windows, if you must use a Windows system).
There is final programming
project. You can do this project in groups of 1-3.
One of the projects is to write a visualization
system for the internet.
Fundamental Algorithms, Java programming and C++.
25% homework, 15% class participation, 60% final project.
BOOKS: We require (1) and highly recommend (2).
Also recommended is (3) (which is better than (4) for our purposes).
(1) Computer Graphics Using OpenGL (Second Edition),
F.S. Hill, Jr., Prentice Hall, 2001.
(2) Core WEB Programming (Second Edition),
M. Hall and L. Brown, Sun Microsystem Press (Prentice Hall), 2001.
(3) JAVA 2D Graphics,
J. Knudsen, O'Reilly, 1999.
(4) Graphic Java (Third Edition),
D. M. Geary, Sun Microsystem Press (Prentice Hall), 1999.