Computer Graphics and Visualization in a Computational Science Program
Total Page:16
File Type:pdf, Size:1020Kb
Computer Graphics and Visualization in a Computational Science Program Steve Cunningham California State University Stanislaus Oregon State University, October 16, 2000 The imperative to scientific visualization comes from two sources: The need to understand sophisticated ideas more deeply The need to use sophisticated computation to do science Visualization uses visual thinking: a key tool to help the student develop his or her deeper understanding of science Visualization involves computation, the third leg of the tripod that supports science education and practice • Theory • Laboratory • Computation 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 These may not be equally good • Tutorial software – There seems to be an understanding that seeing visualizations provides little learning that texts cannot provide; the key is doing modeling and visualization themselves • Generalized tools – This approach is only as good as the tools used, and student learning may not transfer when the tools are replaced with new paradigms Value of programming approach • The student creates the linkage between the image and the simulation or experimental data, and has many more ways to control the visual communication in the image – Color set – Rendering options – Animation – Geometry This approach can be embodied in a computer graphics course designed to be a core component of the student’s computational science background Traditional wisdom says that this might not be worthwhile: • Computer graphics is thought to be a difficult subject • Computer graphics is thought to require a student to to master highly technical algorithms • Computer graphics is thought to be just about making realistic images BUT... • Computer graphics does do not need to be an especially difficult subject • Computer graphics courses does not need to require a focus on technical algorithms • Computer graphics courses can focus on visual communication and problem solving in application areas instead of simulating realism My goal: to create a model for a computer graphics course that serves a broad student audience and is still a sound computer science course Whom will 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 model 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 such as the sciences 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 can 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 So what we have is not the traditional computer graphics course content of Geometry Rendering Display but rather the more complete Data/Simulation 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 A key question that I have not yet worked on: • How could we adapt some of the ideas, and some of the content, from this course into a module that could take approximately four weeks of class and could be integrated into a computational science course on modeling and simulation, or into a more general scientific visualization course? Contact information and credits: • Email address is [email protected] or [email protected] • Draft notes and other materials are online at http://www.cs.csustan.edu/~rsc/NSF / • Thanks to Mike Bailey of SDSC for valuable help and collaboration 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..