Lectures On Lectures On: Computer Graphics Computer Graphics
Lectures On Lectures On: Computer Graphics Computer Graphics
Lectures On Lectures On: Computer Graphics Computer Graphics
Designed and Presented by Dr. Sukhendu Das Professor Dept. of Computer Science and Engg. IIT Madras Chennai 600036.
COMPUTER GRAPHICS
Section I INTRODUCTION
Introduction to COMPUTER GRAPHICS Computer p Graphics p involves display, p y, manipulation p and storage of pictures and experimental data for proper visualization using a computer. Typical graphics system comprises of a host computer t with ith support t of f fast f t processor, large l memory, frame buffer and Display devices (color monitors), p devices ( (mouse, , keyboard, y , joystick, j y , Input touch screen, trackball) Output devices (LCD panels, laser printers, color printers. Plotters etc.) g devices such as, , video I/O, , Interfacing TV interface etc.
Application model
Application program p og a
Graphics system
Typical applications areas are GUI Office automation Plotting g in business Desktop publishing
Plotting in science and technology Web/business/commercial publishing and advertisements CAD/CAM design g (VLSI, Construction, Circuits)
Scientific Visualization
Entertainment ( (movie, i TV Advt., Ad t Games G etc.) t ) Simulation studies Cartography Virtual reality Process Monitoring Digital Image Processing Education and Training Simulators Multimedia
Various application packages and standards are available: Core graphics GKS SRGP PHIGS, SPHIGS and PEX 3D OpenGL (with ActiveX and Direct3D) X11-based systems. systems
On various platforms, such as DOS, Linux, SGI, , Solaris Solaris, Mac Mac, Windows, OS/2, SunOS, , HP-UX HP UX, DEC OSF DEC-OSF.
Various utilities and tools available for web-based design g include: Java, , XML, , VRML and GIF animators. Certain compilers, such as, Visual C/C++, Visual Basic, Borland C/C++, Borland Pascal, Turbo C, Turbo Pascal, Gnu C/C++, Java provide their own graphical libraries, API, support and h l f help for programming i 2-D/3-D / graphics. hi
Some these systems are device-independent (X11, OpenGL ) device-dependent (Solaris, HP-AGP ).
Four basic output primitives (or elements) for drawing pictures: POLYLINE Filled POLYGONS (regions) ELLIPSE (ARC) TEXT Raster R IMAGE
Four major areas of Computer Graphics are: Display of information, Design/Modeling Design/Modeling, Sim lation and Simulation User Interface.
Computer Graphics systems could be active or passive. In both cases, the input to the system is the scene description and output is a static or animated scene to be displayed. In case of active systems, the user controls the display with the help of f a GUI, G using an input device. Computer Graphics is now-a-days, now a days, a significant component of almost all systems and applications of computers in every field of life. life
Haptics
Haptics (pronounced HAP-tiks) is the science of applying touch (tactile) sensation and control to interaction with computer applications (the word derives from the Greek haptein meaning "to fasten."). By using special input/output devices (joysticks, (j y , data g gloves, , or other devices), ), users can receive feedback from computer applications in the form of felt sensations in the hand or other parts of the body. In combination with a visual display, haptics technology can be used to train people for tasks requiring i i hand-eye h d coordination, di i such h as surgery and space ship maneuvers.
It can also be used for games in which you f l as well feel ll as see your interactions i t ti with ith images. i For example example, you might play tennis with another computer user somewhere else in the world. world Both of you can see the moving ball and, using the haptic device, position and swing your tennis racket and feel the impact of the ball. A number u e o of u universities e s es a are ee experimenting pe e g with haptics. The Immersion Corporation offers a joystick j y product p that is used in laboratories and in arcade games. Haptics offers an additional dimension to a virtual reality or 3-D environment.
Simulating Nature Fluid simulation Collision modeling Motion Capture Haptics EYES, NOSE, MOUTH and BODY Textures Archeological Reconstruction Image/Video g / based modeling g and rendering g Devices
Rendering BRDF Modeling Visual Innovations Building Character Mobile reality Surface Reconstruction Interaction Video Techniques The MATRIX REVEALED Hardware
Various fundamental concepts and principles in Computer Graphics are Display p y Systems y Storage displays, Random scan, Raster refresh displays, CRT basics, video basics, Flat panel displays. Transformations Affi ( 2 Affine 2-D D and d3 3-D D ): Rotation, R t ti T Translation, l ti Scale, Reflection and Shear. Viewing: The Camera Transformations perspective, p p , orthographic, g p , isometric and stereographic views, Quaternion.
Scan Conversion and Clipping D Drawing i of fP Points, i t Lines, Li Markers, M k Curves, C Circles, Ellipse, Polyline, Polygon. Area filling, fillstyle, fill pattern, clipping algorithms, anti-aliasing etc. Hidden Surface Removal Back face culling, Painter's algorithm, scanline algorithm algorithm, BSP-trees, BSP trees Z Z-buffer/sorting, b ffer/sorting Ray Ra tracing etc. Shading g & Illumination Phong's shading model, texture mapping, bump mapping, Gouraud shading, Shadows and background, Color models etc.
Solid Modeling Wire-frame Octrees Wire-frame, Octrees, Sweep Sweep, Boundary representations. Regularized Boolean set operations, Constructive Solid Geometry.
Curves and C d Surfaces S f (Bernstein Polynomials) y ) Curves, , Bezier ( B-Splines, Cubic-Splines, Quadratic surfaces parametric and non surfaces, non-parametric parametric forms, Hermite Curves etc.
Miscellaneous Mi ll Animation, , Fractals, , Projection j and Viewing, Geometry, Modeling, Image File formats Image Morphing formats, Morphing, Interaction (sample and event-driven) etc.
Advanced Raster Graphics Architecture Display Processors, Pipeline and parallel architectures, multi multi-processor processor systems, hybrid architectures.
References
1. Computer Graphics; Principles and practice; 2nd edn. in C; J. Foley, A. Van Dam, Feiner and Hughes; Addison Wesley, 1997. 2. Mathematical elements for Computer p ; 2nd edn.; ; D. F. Rogers g and J. A. Graphics; Adams; McGraw-Hill International. Edn., 1990. 3. Computer Graphics - C version; D. Hearn and M. P. Baker; Pearson Education, 2004. 4. Computer Graphics using OpenGL; 2nd edn.; F. S. Hill Jr.; Pearson Education, 2003. 5. Procedural d l Elements l for f Computer Graphics; hi 2nd Edn., D. F. Rogers, Tata McGraw-Hill, 2002.
Textures help to visualize shape p and structure of 3D objects j Real world image of a texture (stochastic)
A realistic scene implemented using: NURBS ( (Non-uniform Rational B-Splines), p ), image maps, bump maps, texture map, procedural noise and depth of field. Courtesy: http://realsoft.fi/gallery/
End of Section - I