Fernando E. Camelli
Office Hours: Before class (3:00 - 4:00), and by appointment
- Fluency with at least one of the following computer languages:
C/C++, or Fortran
- Fluency with Unix/Linux operating system
- Or Permission of Instructor
This course brings together material from many disciplines to provide an overview of
scientific visualization. The scope is interpreted broadly to include contributions
from the fields of information visualization and the emerging field of visual analytics.
The goals of visualization include data description and analysis, discovery, hypothesis
generation, analysis, understanding, presentation and education. In this class the
active agent is the analyst not passive user. A graphics design challenge is to engage
the analyst. Toward this end the class begins by stressing human cognition and perception
as a foundation for graphics that are useful for analysts. This is followed by topics
from several disciplines. Topics from computer graphics cover some of the basics of image
transformations and rendering. Topics from geography, cartography and earth systems
address visualization in a geo-spatial and temporal contexts.
The course will present basic algorithms used to visualize scientific data sets. These
algorithms can be interpreted as operators that transform the data into different
forms and at the end of the process it can be rendered. The class will cover
scalar field visualization (iso-surfaces, volume rendering), vector field visualization,
tensor visualization, large scale data visualization. The class stresses the importance
of data (observational data or/and simulation data) and data models in driving the
graphics. Student final project presentations and sometimes guest lecturers help to
provide coverage of different domains.
- Quantitative Graphics Design Guidelines, R, and basic graphics:
human perception and cognition; introduction to R syntax.
- Computer Graphics and Interaction: introduction to OpenGL,
OpenGL drawing techniques, GLUT, event managements, and mouse control.
- Advanced Computer Graphics: color perception review, graphic pipeline,
shading, illumination, texture, GPU programming.
- Data Structures: tree structures, quadtree, octree, interval tree,
segment tree, Kd-tree, range tree, structured and unstructured grids.
- Contouring, iso-surfaces, volume rendering, marching cubes, etc.
- Vector and Tensor Fields: mathematical description of a vector and tensor
field, arrow plots, streamlines, line integration convolution (LIC),
particle tracing methods, vortex visualization, and medical images.
- Python and Prototyping: basic Python, numerical computing in Python,
GUI programming, VTK and Python, software overview: VTK, Vis5D, ParaView,
- The Visualization Handbook,
edited by C. D. Hansen and C. R. Johnson
- Information Visualization, Perception for Design,
by C. Ware
- The VTK User's Guide,
by Kitware, Inc.
- The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics,
by W. Schroeder, K. Matin, and B. Lorensen
- Python Scripting for Computational Science,
by H. P. Langtangen
- OpenGL Programming Guide: The Official Guide to Learn OpenGL, Version 2.1,
by OpenGL Architecture Review Board, D. Shreiner, M. Woo, J. Neider, and T. Davis
- OpenGL SuperBible: Comprehensive Tutorial and Reference,
by R. S. Wright, B. Lipchak, and N. Haemel
- Visualization and Processing of Tensor Fields,
edited by J. Weickert and H. Hagen
- Scientific Visualization: The Visual Extraction of Knowledge from Data,
edited by G-P. Bonneau, T. Ertl and G. M. Nielson
- Geometric Data Structures for Computer Graphics,
by E. Langetepe, and G. Zachmann
- Computer Graphics: Principles and Practice (2nd edition),
by J. D. Foley, A. Van Dam, S. K. Feiner, and J. F. Hughes
As in any class, you are allowed to study with other students. However, tests and homework
assignments (unless otherwise specified) must be completed on your own. SPECIFICALLY -
YOU MAY NOT COPY ANY TEXT OR MATERIAL AND REPRESENT IT AS YOUR OWN WORK.
For both papers and for code, you may reference or link to other peoples work
(if it is consistent with the assignment), but you MUST cite the source it came from.
Failure to follow these guidelines will be considered a violation of GMU's academic honor
code and will be treated as such.
- Homework assignment - 35%
- Paper presentation - 10%
- Final project - 35%
- Final exam: Take Home - 20%
I will give the exam on 05/03/11.
The exam is due 05/10/11.
Tuesdays before or by appointment.