Presentation is loading. Please wait.

Presentation is loading. Please wait.

COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013.

Similar presentations


Presentation on theme: "COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013."— Presentation transcript:

1 COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013

2 Lecture 1 Coordinate Systems

3 9/2/2015 Outline Course Organization Introduction Image Formation Vector vs. Raster Graphics Graphics Formats Coordinate Systems

4 Course Organization Lectures - Tuesday Practical Sessions - Friday Course Materials –dotLRN Assignments –Course Projects –Homework Assignments (4) –Quizzes (4) –MidTerm Exam –Final Exam 9/2/2015

5 Course Materials dotLRN Used resources: –“Fundamentals of Computer Graphics” by Peter Shirley, Michael Ashikhmin and Steve Marschner, Publisher: A K Peters; 3rd Revised edition – “Interactive Computer Graphics: A Top-Down Approach Using OpenGL” by Edward Ange, Publisher: Addison Wesley; 5th edition –"Computer Graphics with Open GL" by Donald D. Hearn, M. Pauline Baker and Warren Carithers. Publisher: Prentice Hall; 4th edition –"Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL" by Edward Angel and Dave Shreiner.Publisher: Addison-Wesley; 6th edition –“OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1” (7th Edition) by Dave Shreiner 9/2/2015

6 Software C++ Programming Language Code Blocks –http://www.codeblocks.org/http://www.codeblocks.org/ http://www.codeblocks.org/downloads/binaries Multiplatform IDE, GNU GCC Compiler, Debugger – Windows 2000/XP/Vista/7//8 codeblocks-12.11mingw-setup.exe – Linux 32-bit – Linux 64-bit – Mac OS X Free OpenGL Library –Java –C++ –Objective C, C# 9/2/2015

7 OpenGL What is OpenGL? –Provides lower-level graphics API (Application Programming Interface) Programming Languages –Java –C++ –Objective C, C# Versions –OpenGL 3.0 –Mac only supports 3.2 –We will need minimal functionality provided by OpenGL 2.0 9/2/2015

8 OpenGL in C++ Cross-Platform –GLFW  up to date –Free GLUT  not compatible with mac –GLUT  outdated Native –Windows: WGL –Linux: GLX –Mac: CGL (NSOpen GL with Object C++) 9/2/2015

9 OpenGL in Java Java OpneGL (JOGL) –Fits wit SWING /ATW libraries –More complex –Last stable version is obsolete Lightweight Java Game Library (LWJGL) –Minimalistic and easy to use –Stable and well maintained 9/2/2015

10 GLFW Minimalistic and easy to use Stable and well maintained Download: –http://www.glfw.org/http://www.glfw.org/ –Version 2.7.7 –Binary archive for 32-bit Windows Rename folder “lib-mingw” to “lib” More about settings – next class 9/2/2015

11 The Camera 9/2/2015

12 The Image Plane 9/2/2015

13 Polygonal Models 9/2/2015

14 Pixel Discretization 9/2/2015

15 Color Scheme RGB –Red –Green –Blue CMYK –C yan –M agenta –Y ellow –Black 9/2/2015

16 RGB Yellow (255,255,0) Green (0,255,0) Cyan (0,255,255) Blue (0,255,0) Magenta (255,0,255) Red (255,0,0) Red (255,0,0)

17

18

19

20

21

22

23 Raster Rendering For each polygon: Compute illumination Project to image plane Fill in pixels For each polygon: Compute illumination Project to image plane Fill in pixels 9/2/2015

24 Vector v. Raster Graphics Vector Graphics Plotters, laser displays “Clip art,” illustrations PostScript, PDF, SVG Low memory (display list) Easy to draw line Solid/gradient/texture fills Raster Graphics TV’s, monitors, phones Photographs GIF, JPG, etc. High memory (frame buffer) Hard to draw line Arbitrary fills 9/2/2015

25 Graphics Vector –smooth continuous primitives Raster –Discrete primitives (usually in grid) Advantages Disadvantages 9/2/2015

26 痙攣 Example Spasm, convulsion (jap. Keiren) 9/2/2015

27 Vector After Scaling 9/2/2015

28 Raster After Scaling 9/2/2015

29 Vector Graphics Advantages –Zoom Precision –Ideal for graphics and text Disadvantages –Not suitable for compound objects with many details/parts –Nightmare for photorealistic images 9/2/2015

30 Raster Graphics Advantages –Do not depend on the amount of content –Ideal for photorealistic images Disadvantages –Problem with oblique lines –Rough result in scaling –Inconvenient for graphics and text 9/2/2015

31 Rasterization Vector Data transformation to Raster Data –Before the output to the raster device –Rasterization should be made as later as possible in graphics processing Rule –Every image that you can see on PC or mobile device display is raster graphics

32 Vectorization Raster Data transformation to Vector Data –In case we need vector processing (for example, image recognition, edges …) –Heavy algorithms (time, efforts, resources consuming), sometimes bad and unusable results –Vectorization is applied only if there is not available alternative solution

33 Vector – Raster Transformation Raster Data Vector Device Vector Data Raster Device Vector processing Raster processing rasterizationrasterization rasterizationrasterization 9/2/2015

34 Raster Images (Spatial) Resolution –horizontal pixels x vertical pixels Image Aspect Ratio –width/height –HDTV = 1920/1080 = 1.78 = 16:9 Pixel Aspect Ratio –(H/V) / (height/width) = (H/V) x (1/A) –Square pixels are 1:1 Color resolution –Bits per pixel –24 bpp = 8 bits red, green and blue –8 bpp = 3 bits red, green, 2 bits blue 9/2/2015

35 Image File Formats FormatFidelityComplexityUse BMP UncompressedSimple, MicrosoftEasy to process, windows icons PPM UncompressedSimple, open, dated Easy to process, unix icons GIF Compressed Lossless (LZW) Only 256 colorsCharts, graphs, diagrams, text JPG (Exif) Compressed Lossy (DCT) Blocky, edges ringPhotographs TIFF Compressed Lossless (LZW) Flexible but complex structure Fax, scanning, artwork PNG Compressed Lossless (zlib) Flexible but complex structure Distributing images SVG UncompressedFlexibleVector/Line Art 9/2/2015

36 Color Palettes Store all RGB colors used in any image pixel in a table Store index to color in each pixel to compress data size 97 97 217 255 153 0 97 97 217 255 153 0 97 97 217 255 153 0 97 97 217 255 153 0 97 97 217 255 153 0 97 97 217 255 153 0 97 97 217 255 153 0 97 97 217 or= 00000 01110 00100 00100 00100 01110 00000 1= 0= where: 9/2/2015

37 Viewing 9/2/2015 3D Geometric Models 3D Lighting Information 3D Animation Definition Rendering Texture Information Image Storage and Display

38 Coordinate systems Cartesian Polar Spheric 9/2/2015

39 Cartesian coordinate system (x, y, z) – 3D Point position (x, y) – 2D Point position 9/2/2015

40 3-D Coordinates Points represented by 4-vectors Need to decide orientation of coordinate axes y z x x z y Right Handed Coord. Sys. Left Handed Coord. Sys. x y +z (rhc) +z (lhc) 9/2/2015

41 Algorithm “for dummies” Point all the axises –Turn hands until they guess –With which hand do, this is the system X X Z Z Y Y Снимка: FreeDigitalPhotos.net 9/2/2015

42 What is the orientation of is this system? Z Y X 9/2/2015

43 2-D Points Represents points and vertices as column vectors: (-1,-1) (1,1) 9/2/2015

44 2-D Points Represents points and vertices as column vectors: Transform polygonal object by transforming its vertices (-1,-1) (1,1) 9/2/2015

45 α r P O y x X Y Polar coordinate system 9/2/2015

46 2-D Rotation Pick a point (x,y) Assume polar coords x = r cos , y = r sin 

47 Spherical Coordinate System 9/2/2015 P

48 α r O yx β z Q Y Z X

49 Other Coordinate Systems 9/2/2015

50 Demo Code Blocs + GLFW project 9/2/2015

51 Readings –Polar coordinates http://scidiv.bellevuecollege.edu/dh/ccal/CC9.1.pdf http://scidiv.bellevuecollege.edu/dh/ccal/CC9.1.pdf –Spherical Coordinates http://mathworld.wolfram.com/SphericalCoordinates.html http://mathworld.wolfram.com/SphericalCoordinates.html 9/2/2015

52 Questions? 9/2/2015


Download ppt "COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013."

Similar presentations


Ads by Google