230 likes | 405 Vues
MAE 152 Computer Graphics for Scientists and Engineers. Fall 2003 Dr. Prashant V. Mahajan Senior Research Scientist AValonRF, Inc., El Cajon, CA. Graphics System. User. Display. React to Change. Change Image. Input Device. What is Computer Graphics.
E N D
MAE 152Computer Graphics forScientists and Engineers Fall 2003 Dr. Prashant V. Mahajan Senior Research Scientist AValonRF, Inc., El Cajon, CA
Graphics System User Display React to Change Change Image Input Device What is Computer Graphics • Computer technology used to create, manipulate and communicate visual information
History of Computer Graphics • Whirlwind computer at MIT (1950s) • Sketchpad (Ivan Sutherland, MIT 1963) • Computer aided design (CAD) 1965 - • Simulators (c.1975-) • Bitmap graphical user interfaces (late 70s) • Interactive raster graphics (80s) • Virtual reality (late 80s - ) • Computer animation • Visualization • Computer art • Web/internet based graphics
GC “Processes” • Modeling • Storing • Manipulating • Rendering • Viewing
Major areas…entertainment If you can imagine it, it can be done.
Animation Games are okay here!
Image processing Tools for teaching and diagnosis, all the way to treatment.
CAD “Solid model is worth 1000 drawings !”
Data plotting and visualization Scientific Visualization
Goals of CG • Interactivity • Real-time • Realism
“Distinctiveness” of CG • Dynamic environment • Interactive environment • Simulation environment • Visualizing large quantities of data
Real Light Human Eye Real Object Synthetic Light Source Synthetic Camera Human Eye Synthetic Model Real Object Display Device Graphics System Graphics: Conceptual Model
y x Graphics Pipeline Model Coordinates Eye Coordinates Normalized Coordinates y Modelview Transform Projection Transform z = -1 z = 1 x z glScalef() glRotatef() glTranslatef() glFrustrum() gluPerspective() Projected Normalized Coordinates Window Coordinates (1,1) Viewport Transform glViewport() (-1,-1)
??? 2D Output Image (3D) Model Application Program Graphics System Input Devices How Does Application ProgramCommunicate With Graphics System?
Components of a Graphics API • Primitive functions (What to draw) • Primitive attributes (How to draw it) • Transformation functions (Rotate, scale, translate objects (where, how big?)) • Synthetic camera Viewing functions (how to look at it?) • Input functions (Handle interactivity) • Control functions (Communicate with underlying window system/OS) (Initialization, error handling, etc)
What is in this course? • OpenGL system and sample code • simple geometric modeling and GL/GLUT primitives • transformations • managing transformation stacks and composing transformations • animation, double buffering of images • color models and representation • lights and shading models • display lists • event models and event-driven programming • standard OpenGL callbacks
What is covered … • Matrix operations • Representations, linear functions and interpolations, polynomials, splines, bezier functions • ProENGINEER solid modeling • DXF (between ProE and external programs) • description of course projects and operations
Administrative Class-hours: Wed-Fri, 5-6.20 p.m. Instructor: Dr Prashant V Mahajan Contact: drmahajanp@hotmail.com Office hours: Wed-Fri, 3.45-4.45 p.m. TAs: Alex Seguriten Alex Simpkins Textbook/Reference (1) OpenGL Programming Guide, by Neider, Davis, & Woo (2) Computer Graphics for Design, by Daniel B. Olfe (3) Handouts
Administrative … Lab Hours Assignment / Project turn-in method Final Quiz Grading
Assignment 1: C Programming • Learning objectives • Review programming in C • loops • Variables • Functions • Arrays • commenting and more • Microsoft Visual C++ or the compiler of your choice • Basic concept of a user interface
C Programming Assignment • Plate of heat-conductive material • Uniform temperature for t<0 • At t=0, “point heat sources” applied at two arbitrary points on the plate • Output the temperature distribution on the plate after 25 time steps • Due Fri, Oct 3