Computer Graphics and Visualization in a Computational Science Program Steve Cunningham California State University Stanislaus SIAM Conference on Computational Science and Engineering, September 2000
Computation is the third leg of the tripod that represents science education and practice • Theory • Laboratory • Computation
Visual thinking and understanding: key tool to help the student develop his or her intuition and deeper understanding of science
Scientific visualization is where computation and visual thinking meet - it’s using computation to support the visual understanding of science
How do we introduce students to visual thinking and computation in science? • User level approach – Tutorial software – Generalized tools • Programming level approach – Focus on creating specific visual content
Value of programming approach • Student creates the linkage between the data (experimental or simulation) and the image • Student has much larger set of possibilities for controlling the visual communication in the image – Color set – Animation – Geometry
This approach is embodied in a course in computer graphics as a core component of the student’s computational science background
Traditional wisdom says that this might not be worthwhile: • Computer graphics is a difficult subject • Computer graphics requires a student to to master highly technical algorithms • Computer graphics is just about making realistic images
BUT... • Computer graphics is not necessarily a difficult subject • Computer graphics courses need not require a focus on technical algorithms • Computer graphics courses can focus on visual communication
Goal: create a computer graphics course that serves a broad student audience and is still a sound computer science course
Whom does the course serve? • Shift the emphasis from developing graphics specialists to developing a broad group of students with graphics skills • Students can come from the sciences or from many other disciplines, depending on the focus of the institution • Computational science is a natural!
What is the new course like? • Focus is on graphics programming instead of graphics theory, algorithms, and techniques • Emphasizes visual thinking and communication • Uses a standard programming API, such as OpenGL, for its work • Lectures discuss graphics concepts, while the course projects allow the students to work in their individual specialty areas
What background is needed? • Sound programming skills, and an ability to see the geometry in their field – Programming skills means roughly B or better in two programming courses – Seeing geometry requires simple spatial abilities that don’t come from coursework but may be picked up from the students’ work in their fields, especially science
Course projects • Graphics topics, in order: – Simple geometry and color – Lighting/shading, transformations, callbacks – Event-driven programming, user control, interface – Clipping, transparency, texture maps, splines, ... – Object selection and interaction with image • Include problem statement as project source and problem summary with project results
This course is not the traditional Geometry Rendering Display
But is rather Data Geometrizing Geometry Rendering Information Display & Insight
Possible student projects
Who wins with this approach? • Computer science wins because we serve our colleagues and our universities better • Science students win because they get a good background in the computer graphics they will use for their professional work • Computer science students win because they get useful professional skills
Contact information: • Email address is rsc@cs.csustan.edu or cunningham@siggraph.org • Draft notes and other materials are online at http://www.cs.csustan.edu/~rsc/NSF/ This work is supported by National Science Foundation grant DUE-9950121. All opinions, findings, conclusions, and recommendations in this work are those of the author and do not necessarily reflect the views of the National Science Foundation.
Recommend
More recommend