Midterm Review. Wen-Chieh (Steve) Lin Department of Computer Science

Size: px
Start display at page:

Download "Midterm Review. Wen-Chieh (Steve) Lin Department of Computer Science"

Transcription

1 Midterm Review Wen-Chieh (Steve) Lin Department of Computer Science

2 Administration Assignment due on /3 :59 PM Midterm eam on /6 (Monda) Lecture slides Chapter 3 ecluding 3.6 & 3.8 Chapter 6, 7, 8 Chapter ecluding.3 &.4 Chapter Angel, Chapter , Chapter DCP456 Introduction to Computer Graphics 2

3 Topics we have learned so far Graphics pipeline Raster algorithms Intensities and colors Transformation Viewing and projection Shading Teture mapping Clipping Ma not be reviewed toda DCP456 Introduction to Computer Graphics 3

4 Graphics Pipeline OpenGL pipeline Primitives + material properties Rotate Translate Scale Is it visible? 3D to 2D Convert to piels Displa DCP456 Introduction to Computer Graphics 4

5 Rasteriation (Scan Conversion) Final step in pipeline From screen coordinates (float) to piels (int) Writing piels into frame buffer DCP456 Introduction to Computer Graphics 5

6 Raster Algorithms 2D graphics primitives Line drawing Circle drawing Area filling Polgons Antialiasing DCP456 Introduction to Computer Graphics 6

7 Line-Drawing Algorithms Start with line segment in window coordinates with integer values for endpoints = m + h m DCP456 Introduction to Computer Graphics 7

8 Good Discrete Lines No gaps in adjacent piels Piels close to ideal line Consistent choices; same piels in same situations Smooth looking Even brightness in all orientations Same line for P P as for P P DCP456 Introduction to Computer Graphics 8

9 Digital Differential Analer (DDA) Algorithm For each plot piel at closest Along scan line Δ = For(=; <=2,i++) { } +=m; write_piel(, round(), line_color) Problems for steep lines DCP456 Introduction to Computer Graphics 9

10 Using Smmetr Use for m For m >, swap roles of and For each, plot closest DCP456 Introduction to Computer Graphics

11 Bresenham s Algorithm DDA requires one floating point addition per step. Bresenham s algorithm eliminates all floating point operations Consider onl m Other cases b smmetr Assume piel centers are at half integers If we start at a piel that has been written, there are onl two candidates for the net piel DCP456 Introduction to Computer Graphics

12 Ke to Bresenham Algorithm Reasonable assumptions have reduced the problem to making a binar choice at each piel: NE (net) (Previous) E (net) DCP456 Introduction to Computer Graphics 2

13 Candidate Piels m candidates Last piel DCP456 Introduction to Computer Graphics 3

14 Go NE if M is below the line NE Q ideal line previous M midpoint (, E 2 ) DCP456 Introduction to Computer Graphics 4

15 Go E if M is above the line NE (, ) M midpoint (, 2 ) ideal line (, ) previous E Q (, ) DCP456 Introduction to Computer Graphics 5

16 Decision Variable d Define a logical decision variable d linear in form incrementall updated (with addition) tells us whether to go E or NE DCP456 Introduction to Computer Graphics 6

17 Recall that for m and > f(,) = ( ) + ( ) + = Above line: consider f(,+ ) f(,) > Below line f(,) < DCP456 Introduction to Computer Graphics 7

18 Bresenham s Algorithm = For = to do draw(,) If f(+, +.5) < then = + f(+,+.5) < DCP456 Introduction to Computer Graphics 8 f(+,+.5) >

19 Bresenham s Algorithm (cont.) Speed up b replacing function evaluation with incremental update f(,) = ( ) + ( ) + = f(+, +) = f(, ) + ( ) + ( ) f(+, ) = f(, ) + ( ) DCP456 Introduction to Computer Graphics 9

20 Bresenham s Algorithm (cont.) = d = f(+, +.5) For = to do draw(,) If d< then = + else d = d + (-) + (-) d = d + (-) DCP456 Introduction to Computer Graphics 2 f(+,+.5) < f(+,+.5) >

21 Bresenham s Algorithm (cont.) = d = f(+, +.5) For = to do draw(,) If d< then = + else d = d + (-) + (-) d = d + (-) Now, we want to remove the last floating point operation in the code! DCP456 Introduction to Computer Graphics 2

22 Bresenham s Algorithm (cont.) 2*d = 2*f(+, +.5) f( +, +.5) = ( ) ( +) + ( )( +.5) + = 2f( +,+.5) = 2( ) ( +) + ( )(2 +) = DCP456 Introduction to Computer Graphics 22

23 Code for Bresenham s Algorithm = d = 2*( )(+) + ( )(2*+) + 2*(* *) For = to do draw(,) If d< then = + else d = d + 2*(-) + 2*(-) d = d + 2*(-) DCP456 Introduction to Computer Graphics 23

24 Other cases for line drawing m=; m= trivial cases > m > - flip about -ais m > flip about = DCP456 Introduction to Computer Graphics 24

25 Circle-drawing Algorithm for each, if r 2 <= ε SetPiel (, ) for θ in [~36 degree ] = r cos(θ) = r sin(θ) SetPiel (, ) DCP456 Introduction to Computer Graphics 25

26 Midpoint Circle Algorithm Can we utilie the similar idea in Bresenham s line-drawing algorithm? Check onl the net candidates Use smmetr and simple decision rules DCP456 Introduction to Computer Graphics 26 Smmetr of a Circle

27 Midpoint Circle Algorithm (cont.) f(,) = R 2 f(,) > => point outside circle f(,) < => point inside circle P k = f circ ( k +, k ½) DCP456 Introduction to Computer Graphics 27

28 Midpoint Circle Algorithm (cont.) Given the starting point (,r), the computation is more efficient. P = 5/4 r At each position, if(pk < ) else the net point is ( k+, k ) p k+ = p k + 2 k+ + the net point is ( k+, k -) p k+ = p k + 2 k+ + 2 k+ DCP456 Introduction to Computer Graphics 28

29 2D Polgon Filling Inside or Outside are not obvious It s not obvious when the polgon intersects itself. DCP456 Introduction to Computer Graphics 29

30 Concave vs. Conve We prefer dealing with simpler polgons. Conve (eas to break into triangles) θ< 8 o θ > 8 o conve concave DCP456 Introduction to Computer Graphics 3

31 Filling Conve Polgons Find top and bottom vertices List edges along left and right sides For each scan line from top to bottom Find left and right endpoints of span, l and r Fill piels between l and r Can use Bresenham s algorithm to update l and r l r DCP456 Introduction to Computer Graphics 3

32 Concave Polgons: Odd-Even Test Approach : odd-even test For each scan line Find all scan line/polgon intersections Sort them left to right Fill the interior spans between intersections Parit rule: inside after an odd number of crossings DCP456 Introduction to Computer Graphics 32

33 Concave Polgons: Winding Rule Approach 2: winding rule Orient the lines in polgon For each test line (not passing a verte) C E Winding number = right-hdd left-hdd crossings Interior if winding number non-ero Test line A B D ++++=2 Starting from A: ++++= DCP456 Introduction to Computer Graphics 33 2

34 Even-odd Rule vs. Winding Rule Different onl for self-intersecting polgons 2 Even-odd rule Winding rule DCP456 Introduction to Computer Graphics 34

35 Aliasing Artifacts created during scan conversion Inevitable (going from continuous to discrete) Aliasing (name from digital signal processing): we sample a continuous image at grid points Effects Jagged edges Moiré patterns DCP456 Introduction to Computer Graphics 35

36 Sampling and Reconstruction An image is a 2D arra of discrete samples from real-world continuous signal DCP456 Introduction to Computer Graphics 36

37 Sampling and Aliasing Artifacts due to undersampling or poor reconstruction Formall, high frequencies masquerading as low e.g. high frequenc line as low freq jaggies DCP456 Introduction to Computer Graphics 37

38 (Spatial) Aliasing DCP456 Introduction to Computer Graphics 38

39 (Spatial) Aliasing Jaggies probabl biggest aliasing problem DCP456 Introduction to Computer Graphics 39

40 Moiré Patterns due to Bad Downsampling Downsampled without filtering Original Image DCP456 Introduction to Computer Graphics 4 Downsampled after filtering

41 More Aliasing DCP456 Introduction to Computer Graphics 4

42 Antialiasing for Line Segments Use area averaging at boundar bottom is aliased, magnified top is antialiased, magnified DCP456 Introduction to Computer Graphics 42

43 Antialiasing b Supersampling Traditionall for off-line rendering Render, sa, 33 grid of mini-piels Average results using a filter Can be done adaptivel Stop if colors are similar Subdivide at discontinuities DCP456 Introduction to Computer Graphics 43

44 Supersampling Eample Other improvements Stochastic sampling (avoiding repetition) Jittering (perturb a regular grid) DCP456 Introduction to Computer Graphics 44

45 Temporal Aliasing Sampling rate is frame rate (3 H for video) Eample: spokes of wagon wheel in movie Possible to supersample and average Fast-moving objects are blurred Happens automaticall in video and movies Eposure time (shutter speed) Memor persistence (video camera) Effect is motion blur DCP456 Introduction to Computer Graphics 45

46 Intensities and Colors Gamma correction Color models RGB CMYK HSV Compositing RGBA Alpha blending DCP456 Introduction to Computer Graphics 46 2 green can blue 24. black. V ellow magenta H red S

47 Gamma Correction Monitors are nonlinear with respect to input Adjust intensities based on an approimate nonlinear model: input intensit displaed intensit = ( ma intensit ) a γ Gamma correct input a' a DCP456 Introduction to Computer Graphics 47

48 How to Determine Gamma? Adjust input intensit of gre piels until the intensities of checkerboard piels are halfwa between black and white.5 a adjust a ln.5 ln a DCP456 Introduction to Computer Graphics 48

49 RGB Color Space: Additive Color Form a color b adding amounts of three primaries: Red (R), Green (G), Blue (B) CRTs, projection sstems, positive film DCP456 Introduction to Computer Graphics 49

50 CMY Color Space: Subtractive Color Form a color b filtering white light with: Can (C), Magenta (M), and Yellow (Y) filters Printing, Negative film R + G = Y G + B = C B + R = M Y = W - B C = W - R M = W - G DCP456 Introduction to Computer Graphics 5

51 Complementar Colors Add to Gra blue magenta (,,) blue (,, ) white (,,) can (,,) red (,,) ellow (,,) green (,,) DCP456 Introduction to Computer Graphics 5

52 HSV Color Space Introduced b Albet Munsell, late 8s Hue: Color Saturation: strength of a color Neutral gra has saturation Value: Intensit of light emanating from image 2 green can blue 24. black. V ellow magenta H red S DCP456 Introduction to Computer Graphics 52

53 Compositing Frame buffer Simple color model: R, G, B; 8 bits each -channel A, another 8 bits Alpha determines opacit, piel-b-piel = : opaque = : transparent Blend translucent objects during rendering Achieve other effects (e.g., shadows) DCP456 Introduction to Computer Graphics 53 C = C f + (-C b

54 Transformations and Matrices Transformations are functions Matrices are function representations Matrices represent linear transformations 22 Matrices 2D Linear transformation Linear transformation Def : T ( a ) at ( ) T ( ), for scalar a and vectors and. 2 2 Matrices 2 D Linear Transf's DCP456 Introduction to Computer Graphics 54

55 DCP456 Introduction to Computer Graphics 55 Basic 2D Transformations Basic 2D Transformations Translation Scaling Rotation t t t t t s s S s s cos sin sin cos R cos sin sin cos

56 DCP456 Introduction to Computer Graphics 56 Basic 2D Transformations (cont.) Basic 2D Transformations (cont.) Shear a a Sh b b Sh Sh tan tan

57 Geometric View of Shear in Sh tan tan tanφ Φ DCP456 Introduction to Computer Graphics 57 57

58 Affine Transformation A function F is affine if it is linear plus a translation Thus the -D transformation = m + b is not linear, but affine Similarl for a translation and rotation of a coordinate sstem Affine transformations preserve lines = rigid transformation + shearing + scaling DCP456 Introduction to Computer Graphics 58

59 DCP456 Introduction to Computer Graphics 59 Homogeneous Coordinates Homogeneous Coordinates Translation is not linear--how to represent it as a matri? Trick: add etra coordinate to each vector This etra coordinate is the homogeneous coordinate, or w t t

60 Homogeneous Coordinates When etra coordinate is used, vector is said to be represented in homogeneous coordinates The associated transformation matrices Homogeneous Transformations Drop etra coordinate after transformation (project to w=) f f f f t t, for DCP456 Introduction to Computer Graphics 6

61 DCP456 Introduction to Computer Graphics 6 Homogeneous 2D Transformations Homogeneous 2D Transformations The basic 2D transformations become Translate: Scale: Rotate: An affine transformation can be epressed as a combination of these. We can combine homogeneous transforms b multiplication. Now an sequence of translate/scale/rotate operations can be collapsed into a single homogeneous matri t t s s cos sin sin cos

62 Composite Transformations Matri multiplication isn t commutative! DCP456 Introduction to Computer Graphics 62

63 DCP456 Introduction to Computer Graphics 63 Windowing (Viewport) Transformation Windowing (Viewport) Transformation [a, A] [b, B] [c, C] [d, D] Translate(-a, -b) Scale Translate(c, d) b a b B d D a A c C d c M

64 DCP456 Introduction to Computer Graphics 64 Basic 3D Transformations Basic 3D Transformations 3-D transformations are ver similar to the 2-D case Homogeneous coordinate transforms require 44 matrices Scaling and translation matrices are simpl: t t t S S S

65 3D Rotation Matrices Rotation is a bit more complicated in 3-D More possible aes of rotation e.g., rotate about -ais: onl and coordinate change Rotate-(Φ) = cos sin sin cos DCP456 Introduction to Computer Graphics 65

66 DCP456 Introduction to Computer Graphics 66 3D Rotation Matrices about - and - aes 3D Rotation Matrices about - and - aes cos sin sin cos Rotate-(Φ) = cos sin sin cos Rotate-(Φ) =

67 Properties of Rotation Matrices Rotation matrices are orthonormal Rows/Columns are mutuall orthonormal Rows/Columns form a Cartesian coordinate Geometricall, R - (θ) = R(-θ) Algebraicall, R - (θ) = R T (θ) Prove b ourself that R T (θ)r(θ) = R(θ)R T (θ) = I using orthonormalit of R R - (θ) = R(-θ) = R T (θ) DCP456 Introduction to Computer Graphics 67

68 Arbitrar 3D Rotations Can we construct an arbitrar 3D rotation using basic rotation matrices R() R() R()? +θ a α DCP456 Introduction to Computer Graphics 68

69 Transforming Normal Vectors If we transform normals like points We need a different rule to transform normals. DCP456 Introduction to Computer Graphics 69

70 Normals Transform Like Planes A plane n p n ( a,b,c ) If To p n p is find n n T T n p ( n T T ( n Mp a b T is Ip ( M T p the M the M to, equation equation transform ) T c plane transform ed, answer, M ) p )( Mp ) M d where how do for T for point point point to DCP456 Introduction to Computer Graphics 7 n n normal, can some T T a b c d, p d is should on on be the n magic plane plane transform written offset. transform? : in in plane original transforme space d space

71 Global vs. Local Coordinate Sstem Need to handle multiple coordinate sstems A canonical coordinate sstem is usuall designated as the frame-of-reference for all other coordinates Global coordinate World coordinate Frame of reference The others are called local coordinates DCP456 Introduction to Computer Graphics 7

72 DCP456 Introduction to Computer Graphics 72 Global vs. Local Coordinate Sstem Global vs. Local Coordinate Sstem,, u, v, o, e are all vectors in global sstem o p p p p p ), ( v u e p p p p p v u v u ), ( p p e e p p v u v u p p e e T T p p v u v u In global coord. ( p, p ) In local coord. (u p,v p )

73 DCP456 Introduction to Computer Graphics 73 Think about 3D case. Think about 3D case. Given two coordinate frames, how do ou represent a vector specified in one frame in the other frame? e u v w X Y Z P p p p p p p w v u p p p p p p w v u??

74 Viewing Given geometr in the world coordinate sstem, how do we get it to the displa? Transform to camera coordinate sstem Transform (warp) into canonical view volume Clip Project to displa coordinates Rasterie DCP456 Introduction to Computer Graphics 74

75 Viewing and Projection Our ees collapse 3-D world to 2-D retinal image (brain then has to reconstruct 3D) In CG, this process occurs b projection Projection has two parts: Viewing transformations: camera position and direction Perspective/orthographic transformation: reduces 3-D to 2-D Use homogeneous transformations DCP456 Introduction to Computer Graphics 75

76 Viewing Transformation: Camera Control All we need is a single translation and angleais rotation (orientation), but... Good animation requires good camera control--we need better control knobs Translation knob - move to the lookfrom point Orientation can be specified in several was: specif camera rotations specif a lookat point (solve for camera rotations) DCP456 Introduction to Computer Graphics 76

77 A Popular View Specification Approach Focal length, image sie/shape and clipping planes are in the perspective transformation In addition: lookfrom: where the focal point (camera) is lookat: the world point to be centered in the image Also specif camera orientation about the lookfromlookfat ais DCP456 Introduction to Computer Graphics 77

78 Implementing lookat/lookfrom/vup viewing scheme Translate b lookfrom, bring focal point to origin Rotate lookfrom - lookat to the -ais with matri R: w = (lookfrom-lookat) (normalied) and = [,,] rotation ais: a = (w )/ w rotation angle: cosθ= w and sinθ= w Rotate about -ais to get vup parallel to the -ais DCP456 Introduction to Computer Graphics 78

79 It s not so complicated vup lookfrom START HERE w Translate LOOKFROM to the origin Rotate the view vector (lookfrom - lookat) onto the -ais. Multipl b the projection matri and everthing will be in the canonical camera position DCP456 Introduction to Computer Graphics 79 Rotate about to bring vup to -ais

80 DCP456 Introduction to Computer Graphics 8 Rotate Camera Frame Rotate Camera Frame Alternativel, we can view these two rotations as a single rotation that aligns u-vw-aes to ---aes! w v Ru Rv Rw w v u w v u w v u R w w w v v v u u u w v u w v u w v u R w: lookat lookfrom v: view up direction u = v w w v u w v u w v u w v u w v u w v u

81 DCP456 Introduction to Computer Graphics 8 Viewing Transformation Viewing Transformation Put translation and rotation together e w w w e v v v e u u u e e e w w w v v v u u u v RM t M X Y Z e u v w P p p p p p p w v u M v world coordinate local coordinate

82 Orthographic Projection When the focal point is at infinit the ras are parallel and orthogonal to the image plane When -plane is the image plane (,,) -> (,,) front orthographic view F Image World DCP456 Introduction to Computer Graphics 82

83 Orthographic Projection Map orthographic viewing cube to the canonical view volume 3D window transformation [l, r] [b, t] [f, n] [-, ][-, ][-,] DCP456 Introduction to Computer Graphics 83

84 DCP456 Introduction to Computer Graphics 84 Orthographic Projection (cont.) Orthographic Projection (cont.) 3D window transform (last class) [l, r] [b, t] [f, n] [-, ][-, ][-,] canonical is ignored f n t b r l f n b t l r canonical canonical canonical

85 DCP456 Introduction to Computer Graphics 85 Canonical View Volume to Screen Canonical View Volume to Screen If -ais of screen coord. points downward [-,] [-, ] [-.5, n -.5] [n -.5, -.5] canonical canonical piel piel piel n n n n reflection scale translation

86 DCP456 Introduction to Computer Graphics 86 Orthographic Projection Matri Orthographic Projection Matri Put everthing together f n t b r l f n b t l r n n n n M o canonical piel piel M o

87 DCP456 Introduction to Computer Graphics 87 Orthographic Projection Summar Orthographic Projection Summar Given 3D geometr (a set of points a) Compute view transformation M v Compute orthographic projection M o Compute M = M o M v For each point a i, compute p = Ma i f n t b r l f n b t l r n n n n M e w w w e v v v e u u u

88 Perspective Projection of a Point View plane or image plane - a plane behind the pinhole on which the image is formed sees anthing on the line (ra) through the pinhole F a point W projects along the ra through F to appear at I (intersection of WF with image plane) I Image F World W DCP456 Introduction to Computer Graphics 88

89 A Simple Perspective Camera Canonical case: camera looks along the -ais (toward negative -ais) focal point is the origin image plane is parallel to the -plane at distance d We call d the focal length, mainl for historical reasons Image plane Center of projection DCP456 Introduction to Computer Graphics 89

90 Geometr Eq. for Perspective Projection Diagram shows -coordinate, -coordinate is similar Point (,,) projects to d s d d (,, d ) view plane e: ee position g: gae direction e d g s DCP456 Introduction to Computer Graphics 9

91 DCP456 Introduction to Computer Graphics 9 Perspective Projection Matri Perspective Projection Matri Projection using homogeneous coordinates: transform (,,) to 2-D image point: discard third coordinate appl viewport transformation to obtain phsical piel coordinates ),, ( d d d d d d d d d ),, ( d d d Divide b 4 th coordinate (the w coordinate)

92 DCP456 Introduction to Computer Graphics 92 Perspective Projection Matri Perspective Projection Matri Projection using homogeneous coordinates: transform (,,) to 2-D image point: discard third coordinate appl viewport transformation to obtain phsical piel coordinates ),, ( d d d d d d d d d ),, ( d d d Divide b 4 th coordinate (the w coordinate)

93 View Volume and View Frustum Pramid in space defined b focal point and window in the image plane Defines visible region of space Pramid edges are clipping planes Near and far clipping planes Field of view DCP456 Introduction to Computer Graphics 93

94 DCP456 Introduction to Computer Graphics 94 Map Perspective View Volume to Orthographic View Volume Map Perspective View Volume to Orthographic View Volume Map [,,n] to [n/, n/, n] Map [,,f] to [n/, n/, f] n f n f n M p

95 DCP456 Introduction to Computer Graphics 95 Projection Matri is not unique Projection Matri is not unique M p is not unique ' ' ' h h h h h M p M p nf f n n n n f n f n n n p M p M

96 Perspective Projection Summar Given 3D geometr (a set of points a) Compute view transformation M v Map perspective to orthographic M p Compute orthographic projection M o Compute M = M o M p M v For each point a i, compute p = Ma i DCP456 Introduction to Computer Graphics 96

97 Hidden Surface Elimination Backface culling BSP tree Z-buffer (net class) DCP456 Introduction to Computer Graphics 97

98 Back Face Culling: Object Space v n v n n DCP456 Introduction to Computer Graphics 98 n v v

99 Back Face Culling: Object Space Visible: vn v n n v Utah School of Computing 99

100 Creating a BSP tree b 4b 4f 4b 5f 5b 4f 5f 4 -> 4f,4b DCP456 Introduction to Computer Graphics

101 Back-to-Front Render 2 5b 4f 3 5f 4b b 4b 4f 4b 5f 3 5b 4f 5f DCP456 Introduction to Computer Graphics

102 -Buffer Algorithm The or depth buffer stores the depth of the closest object at each piel found so far As we render each polgon, compare the depth of each piel to depth in buffer If less, place the shade of piel in the color buffer and update buffer DCP456 Introduction to Computer Graphics 2

103 Integer Z-buffer If B bins are used for depth range (n, f) Bin sie = (n-f)/b Smaller is desirable Depth of two objects are indistinguishable if is larger than the difference between their real - values Increase B Move n and f closer DCP456 Introduction to Computer Graphics 3

104 Bin sie for -buffer in world space Bin sie in the world space increases as depth increases Objects farther awa is more likel to be indistinguishable in depth (same integer - values) w 2 w fn w =f ma w f n Maimie n and minimie f for small w DCP456 Introduction to Computer Graphics 4

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture

More information

CS559: Computer Graphics

CS559: Computer Graphics CS559: Computer Graphics Lecture 8: 3D Transforms Li Zhang Spring 28 Most Slides from Stephen Chenne Finish Color space Toda 3D Transforms and Coordinate sstem Reading: Shirle ch 6 RGB and HSV Green(,,)

More information

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li. Fall 2015 CSCI 420: Computer Graphics 7.1 Rasterization Hao Li http://cs420.hao-li.com 1 Rendering Pipeline 2 Outline Scan Conversion for Lines Scan Conversion for Polygons Antialiasing 3 Rasterization

More information

Graphics Output Primitives

Graphics Output Primitives Important Graphics Output Primitives Graphics Output Primitives in 2D polgons, circles, ellipses & other curves piel arra operations in 3D triangles & other polgons Werner Purgathofer / Computergraphik

More information

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California CSCI 420 Computer Graphics Lecture 14 Rasterization Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California 1 Rasterization (scan conversion) Final step in pipeline:

More information

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA)

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA) CSCI 420 Computer Graphics Lecture 14 Rasterization Jernej Barbic University of Southern California Scan Conversion Antialiasing [Angel Ch. 6] Rasterization (scan conversion) Final step in pipeline: rasterization

More information

What does OpenGL do?

What does OpenGL do? Theor behind Geometrical Transform What does OpenGL do? So the user specifies a lot of information Ee Center Up Near, far, UP EE Left, right top, bottom, etc. f b CENTER left right top bottom What does

More information

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem Graphics Pipeline: Projective Last Time Shadows cast ra to light stop after first intersection Reflection & Refraction compute direction of recursive ra Recursive Ra Tracing maimum number of bounces OR

More information

Rasterization Computer Graphics I Lecture 14. Scan Conversion Antialiasing Compositing [Angel, Ch , ]

Rasterization Computer Graphics I Lecture 14. Scan Conversion Antialiasing Compositing [Angel, Ch , ] 15-462 Computer Graphics I Lecture 14 Rasterization March 13, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Scan Conversion Antialiasing Compositing [Angel,

More information

Prof. Feng Liu. Fall /25/2018

Prof. Feng Liu. Fall /25/2018 Prof. Feng Liu Fall 08 http://www.cs.pd.edu/~fliu/courses/cs7/ 0/5/08 Last time Clipping Toda Rasterization In-class Mid-term November Close-book eam Notes on page of A or Letter size paper Where We Stand

More information

Computer Graphics. Lecture 3 Graphics Output Primitives. Somsak Walairacht, Computer Engineering, KMITL

Computer Graphics. Lecture 3 Graphics Output Primitives. Somsak Walairacht, Computer Engineering, KMITL Computer Graphics Lecture 3 Graphics Output Primitives Somsa Walairacht, Computer Engineering, KMITL Outline Line Drawing Algorithms Circle-, Ellipse-Generating Algorithms Fill-Area Primitives Polgon Fill

More information

GRAPHICS OUTPUT PRIMITIVES

GRAPHICS OUTPUT PRIMITIVES CHAPTER 3 GRAPHICS OUTPUT PRIMITIVES LINE DRAWING ALGORITHMS DDA Line Algorithm Bresenham Line Algorithm Midpoint Circle Algorithm Midpoint Ellipse Algorithm CG - Chapter-3 LINE DRAWING Line drawing is

More information

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1 Toda s class Geometric objects and transformations Wednesda, November 7, 27 Computer Graphics - Class 5 Vector operations Review of vector operations needed for working in computer graphics adding two

More information

3-Dimensional Viewing

3-Dimensional Viewing CHAPTER 6 3-Dimensional Vieing Vieing and projection Objects in orld coordinates are projected on to the vie plane, hich is defined perpendicular to the vieing direction along the v -ais. The to main tpes

More information

3D graphics rendering pipeline (1) 3D graphics rendering pipeline (3) 3D graphics rendering pipeline (2) 8/29/11

3D graphics rendering pipeline (1) 3D graphics rendering pipeline (3) 3D graphics rendering pipeline (2) 8/29/11 3D graphics rendering pipeline (1) Geometr Rasteriation 3D Coordinates & Transformations Prof. Aaron Lanterman (Based on slides b Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

3D Coordinates & Transformations

3D Coordinates & Transformations 3D Coordinates & Transformations Prof. Aaron Lanterman (Based on slides b Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technolog 3D graphics rendering pipeline

More information

Computer Graphics. Modelling in 2D. 2D primitives. Lines and Polylines. OpenGL polygon primitives. Special polygons

Computer Graphics. Modelling in 2D. 2D primitives. Lines and Polylines. OpenGL polygon primitives. Special polygons Computer Graphics Modelling in D Lecture School of EECS Queen Mar, Universit of London D primitives Digital line algorithms Digital circle algorithms Polgon filling CG - p.hao@qmul.ac.uk D primitives Line

More information

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,

More information

Two Dimensional Viewing

Two Dimensional Viewing Two Dimensional Viewing Dr. S.M. Malaek Assistant: M. Younesi Two Dimensional Viewing Basic Interactive Programming Basic Interactive Programming User controls contents, structure, and appearance of objects

More information

Projections. Brian Curless CSE 457 Spring Reading. Shrinking the pinhole. The pinhole camera. Required:

Projections. Brian Curless CSE 457 Spring Reading. Shrinking the pinhole. The pinhole camera. Required: Reading Required: Projections Brian Curless CSE 457 Spring 2013 Angel, 5.1-5.6 Further reading: Fole, et al, Chapter 5.6 and Chapter 6 David F. Rogers and J. Alan Adams, Mathematical Elements for Computer

More information

What and Why Transformations?

What and Why Transformations? 2D transformations What and Wh Transformations? What? : The geometrical changes of an object from a current state to modified state. Changing an object s position (translation), orientation (rotation)

More information

Determining the 2d transformation that brings one image into alignment (registers it) with another. And

Determining the 2d transformation that brings one image into alignment (registers it) with another. And Last two lectures: Representing an image as a weighted combination of other images. Toda: A different kind of coordinate sstem change. Solving the biggest problem in using eigenfaces? Toda Recognition

More information

CS F-07 Objects in 2D 1

CS F-07 Objects in 2D 1 CS420-2010F-07 Objects in 2D 1 07-0: Representing Polgons We want to represent a simple polgon Triangle, rectangle, square, etc Assume for the moment our game onl uses these simple shapes No curves for

More information

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing Foundations of Computer Graphics (Fall 0) CS 84, Lecture 5: Viewing http://inst.eecs.berkele.edu/~cs84 To Do Questions/concerns about assignment? Remember it is due Sep. Ask me or TAs re problems Motivation

More information

MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration

MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration MAN-522: COMPUTER VISION SET-2 Projections and Camera Calibration Image formation How are objects in the world captured in an image? Phsical parameters of image formation Geometric Tpe of projection Camera

More information

Viewing. Announcements. A Note About Transformations. Orthographic and Perspective Projection Implementation Vanishing Points

Viewing. Announcements. A Note About Transformations. Orthographic and Perspective Projection Implementation Vanishing Points Viewing Announcements. A Note About Transformations. Orthographic and Perspective Projection Implementation Vanishing Points Viewing Announcements. A Note About Transformations. Orthographic and Perspective

More information

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics Foundations of Computer Graphics Online Lecture 5: Viewing Orthographic Projection Ravi Ramamoorthi Motivation We have seen transforms (between coord sstems) But all that is in 3D We still need to make

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

More information

To Do. Motivation. Demo (Projection Tutorial) What we ve seen so far. Computer Graphics. Summary: The Whole Viewing Pipeline

To Do. Motivation. Demo (Projection Tutorial) What we ve seen so far. Computer Graphics. Summary: The Whole Viewing Pipeline Computer Graphics CSE 67 [Win 9], Lecture 5: Viewing Ravi Ramamoorthi http://viscomp.ucsd.edu/classes/cse67/wi9 To Do Questions/concerns about assignment? Remember it is due tomorrow! (Jan 6). Ask me or

More information

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines COMP30019 Graphics and Interaction Scan Converting Polygons and Lines Department of Computer Science and Software Engineering The Lecture outline Introduction Scan conversion Scan-line algorithm Edge coherence

More information

CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometr and Camera Calibration 3D Coordinate Sstems Right-handed vs. left-handed 2D Coordinate Sstems ais up vs. ais down Origin at center vs. corner Will often write (u, v) for image coordinates v

More information

Projection: Mapping 3-D to 2-D. Orthographic Projection. The Canonical Camera Configuration. Perspective Projection

Projection: Mapping 3-D to 2-D. Orthographic Projection. The Canonical Camera Configuration. Perspective Projection Projection: Mapping 3-D to 2-D Our scene models are in 3-D space and images are 2-D so we need some wa of projecting 3-D to 2-D The fundamental approach: planar projection first, we define a plane in 3-D

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

Computer Graphics. Si Lu. Fall er_graphics.htm 10/11/2017

Computer Graphics. Si Lu. Fall er_graphics.htm 10/11/2017 Computer Graphics Si Lu Fall 27 http://www.cs.pd.edu/~lusi/cs447/cs447_547_comput er_graphics.htm //27 Last time Filtering Resampling 2 Toda Compositing NPR 3D Graphics Toolkits Transformations 3 Demo

More information

Announcements. Tutorial this week Life of the polygon A1 theory questions

Announcements. Tutorial this week Life of the polygon A1 theory questions Announcements Assignment programming (due Frida) submission directories are ied use (submit -N Ab cscd88 a_solution.tgz) theor will be returned (Wednesda) Midterm Will cover all o the materials so ar including

More information

Topics and things to know about them:

Topics and things to know about them: Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will

More information

5.8.3 Oblique Projections

5.8.3 Oblique Projections 278 Chapter 5 Viewing y (, y, ) ( p, y p, p ) Figure 537 Oblique projection P = 2 left right 0 0 left+right left right 0 2 top bottom 0 top+bottom top bottom far+near far near 0 0 far near 2 0 0 0 1 Because

More information

CS Computer Graphics: Transformations & The Synthetic Camera

CS Computer Graphics: Transformations & The Synthetic Camera CS 543 - Computer Graphics: Transformations The Snthetic Camera b Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) Introduction to Transformations A transformation changes an objects Size

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

CS 543: Computer Graphics. Rasterization

CS 543: Computer Graphics. Rasterization CS 543: Computer Graphics Rasterization Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots

More information

Image Warping. Computational Photography Derek Hoiem, University of Illinois 09/28/17. Photo by Sean Carroll

Image Warping. Computational Photography Derek Hoiem, University of Illinois 09/28/17. Photo by Sean Carroll Image Warping 9/28/7 Man slides from Alosha Efros + Steve Seitz Computational Photograph Derek Hoiem, Universit of Illinois Photo b Sean Carroll Reminder: Proj 2 due monda Much more difficult than project

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

Models and The Viewing Pipeline. Jian Huang CS456

Models and The Viewing Pipeline. Jian Huang CS456 Models and The Viewing Pipeline Jian Huang CS456 Vertex coordinates list, polygon table and (maybe) edge table Auxiliary: Per vertex normal Neighborhood information, arranged with regard to vertices and

More information

Raster Displays and Scan Conversion. Computer Graphics, CSCD18 Fall 2008 Instructor: Leonid Sigal

Raster Displays and Scan Conversion. Computer Graphics, CSCD18 Fall 2008 Instructor: Leonid Sigal Raster Displays and Scan Conversion Computer Graphics, CSCD18 Fall 28 Instructor: Leonid Sigal Rater Displays Screen is represented by 2D array of locations called piels y Rater Displays Screen is represented

More information

Image Metamorphosis By Affine Transformations

Image Metamorphosis By Affine Transformations Image Metamorphosis B Affine Transformations Tim Mers and Peter Spiegel December 16, 2005 Abstract Among the man was to manipulate an image is a technique known as morphing. Image morphing is a special

More information

Chap 7, 2009 Spring Yeong Gil Shin

Chap 7, 2009 Spring Yeong Gil Shin Three-Dimensional i Viewingi Chap 7, 29 Spring Yeong Gil Shin Viewing i Pipeline H d fi i d? How to define a window? How to project onto the window? Rendering "Create a picture (in a snthetic camera) Specification

More information

Warping, Morphing and Mosaics

Warping, Morphing and Mosaics Computational Photograph and Video: Warping, Morphing and Mosaics Prof. Marc Pollefes Dr. Gabriel Brostow Toda s schedule Last week s recap Warping Morphing Mosaics Toda s schedule Last week s recap Warping

More information

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) ME 29-R: General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) Sara McMains Spring 29 lecture 2 Toda s GPU eample: moldabilit feedback Two-part mold [The Complete Sculptor

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theor, Algorithms, and Applications Hong Qin State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794--44 Tel: (63)632-845; Fa: (63)632-8334 qin@cs.sunsb.edu

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan Universit The Universit of Toko Viewing in 3D 3D Viewing Process Classical Viewing and Projections 3D Snthetic Camera Model Parallel Projection Perspective

More information

Implementation III. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Implementation III. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Implementation III Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Objectives Survey Line Drawing Algorithms - DDA - Bresenham 2 Rasterization

More information

Interactive Computer Graphics. Warping and morphing. Warping and Morphing. Warping and Morphing. Lecture 14+15: Warping and Morphing. What is.

Interactive Computer Graphics. Warping and morphing. Warping and Morphing. Warping and Morphing. Lecture 14+15: Warping and Morphing. What is. Interactive Computer Graphics Warping and morphing Lecture 14+15: Warping and Morphing Lecture 14: Warping and Morphing: Slide 1 Lecture 14: Warping and Morphing: Slide 2 Warping and Morphing What is Warping

More information

The 3-D Graphics Rendering Pipeline

The 3-D Graphics Rendering Pipeline The 3-D Graphics Rendering Pipeline Modeling Trival Rejection Illumination Viewing Clipping Projection Almost ever discussion of 3-D graphics begins here Seldom are an two versions drawn the same wa Seldom

More information

Perspective Projection Transformation

Perspective Projection Transformation Perspective Projection Transformation Where does a point of a scene appear in an image?? p p Transformation in 3 steps:. scene coordinates => camera coordinates. projection of camera coordinates into image

More information

OUTPUT PRIMITIVES. CEng 477 Introduction to Computer Graphics METU, 2007

OUTPUT PRIMITIVES. CEng 477 Introduction to Computer Graphics METU, 2007 OUTPUT PRIMITIVES CEng 477 Introduction to Computer Graphics METU, 007 Recap: The basic forward projection pipeline: MCS Model Model Modeling Transformations M M 3D World Scene Viewing Transformations

More information

Pipeline implementation II

Pipeline implementation II Pipeline implementation II Overview Line Drawing Algorithms DDA Bresenham Filling polygons Antialiasing Rasterization Rasterization (scan conversion) Determine which pixels that are inside primitive specified

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

CS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008

CS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008 CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008 Antialising Today Hidden Surface Removal Reading: Shirley ch 3.7 8 OpenGL ch 1 Last time A 2 (x 0 y 0 ) (x 1 y 1 ) P

More information

3D graphics, raster and colors CS312 Fall 2010

3D graphics, raster and colors CS312 Fall 2010 Computer Graphics 3D graphics, raster and colors CS312 Fall 2010 Shift in CG Application Markets 1989-2000 2000 1989 3D Graphics Object description 3D graphics model Visualization 2D projection that simulates

More information

Computer Graphics Geometry and Transform

Computer Graphics Geometry and Transform ! Computer Graphics 2014! 5. Geometry and Transform Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2014-10-11! Today outline Triangle rasterization Basic vector algebra ~ geometry! Antialiasing

More information

Viewing and Projection

Viewing and Projection Viewing and Projection Sheelagh Carpendale Camera metaphor. choose camera position 2. set up and organie objects 3. choose a lens 4. take the picture View Volumes what gets into the scene perspective view

More information

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points Coordinate Sstems Coordinate sstems used in graphics Screen coordinates: the

More information

Topics. From vertices to fragments

Topics. From vertices to fragments Topics From vertices to fragments From Vertices to Fragments Assign a color to every pixel Pass every object through the system Required tasks: Modeling Geometric processing Rasterization Fragment processing

More information

Today. The Graphics Pipeline: Projective Transformations. Last Week: Schedule. XForms Forms Library. Questions?

Today. The Graphics Pipeline: Projective Transformations. Last Week: Schedule. XForms Forms Library. Questions? Toda The Graphics Pipeline: Projectie Reiew & Schedule Ra Casting / Tracing s. The Graphics Pipeline Projectie Last Week: Animation & Quaternions Finite Element Simulations collisions, fracture, & deformation

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical descriptions of geometric changes,

More information

CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection. Emmanuel Agu

CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection. Emmanuel Agu CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection Emmanuel Agu 3D Viewing and View Volume Recall: 3D viewing set up Projection Transformation View volume can have different shapes (different

More information

Realtime 3D Computer Graphics Virtual Reality

Realtime 3D Computer Graphics Virtual Reality Realtime 3D Computer Graphics Virtual Reality From Vertices to Fragments Overview Overall goal recapitulation: Input: World description, e.g., set of vertices and states for objects, attributes, camera,

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Computer Graphics Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical

More information

Rasterization Overview

Rasterization Overview Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

More information

CS 335 Graphics and Multimedia. Geometric Warping

CS 335 Graphics and Multimedia. Geometric Warping CS 335 Graphics and Multimedia Geometric Warping Geometric Image Operations Eample transformations Straightforward methods and their problems The affine transformation Transformation algorithms: Forward

More information

CS 450: COMPUTER GRAPHICS RASTERIZING LINES SPRING 2016 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS RASTERIZING LINES SPRING 2016 DR. MICHAEL J. REALE CS 45: COMPUTER GRAPHICS RASTERIZING LINES SPRING 6 DR. MICHAEL J. REALE OBJECT-ORDER RENDERING We going to start on how we will perform object-order rendering Object-order rendering Go through each OBJECT

More information

Computer Graphics. Jeng-Sheng Yeh 葉正聖 Ming Chuan University (modified from Bing-Yu Chen s slides)

Computer Graphics. Jeng-Sheng Yeh 葉正聖 Ming Chuan University (modified from Bing-Yu Chen s slides) Computer Graphics Jeng-Sheng Yeh 葉正聖 Ming Chuan Universit (modified from Bing-Yu Chen s slides) Viewing in 3D 3D Viewing Process Specification of an Arbitrar 3D View Orthographic Parallel Projection Perspective

More information

Lecture 4: Viewing. Topics:

Lecture 4: Viewing. Topics: Lecture 4: Viewing Topics: 1. Classical viewing 2. Positioning the camera 3. Perspective and orthogonal projections 4. Perspective and orthogonal projections in OpenGL 5. Perspective and orthogonal projection

More information

Aliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ):

Aliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ): (Anti)Aliasing and Image Manipulation for (y = 0; y < Size; y++) { for (x = 0; x < Size; x++) { Image[x][y] = 7 + 8 * sin((sqr(x Size) + SQR(y Size)) / 3.0); } } // Size = Size / ; Aliasing Can t draw

More information

1. We ll look at: Types of geometrical transformation. Vector and matrix representations

1. We ll look at: Types of geometrical transformation. Vector and matrix representations Tob Howard COMP272 Computer Graphics and Image Processing 3: Transformations Tob.Howard@manchester.ac.uk Introduction We ll look at: Tpes of geometrical transformation Vector and matri representations

More information

p =(x,y,d) y (0,0) d z Projection plane, z=d

p =(x,y,d) y (0,0) d z Projection plane, z=d Projections ffl Mapping from d dimensional space to d 1 dimensional subspace ffl Range of an projection P : R! R called a projection plane ffl P maps lines to points ffl The image of an point p under P

More information

Viewing/Projections III. Week 4, Wed Jan 31

Viewing/Projections III. Week 4, Wed Jan 31 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munner Viewing/Projections III Week 4, Wed Jan 3 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 News etra TA coverage in lab to answer

More information

CSC Computer Graphics

CSC Computer Graphics 7//7 CSC. Computer Graphics Lecture Kasun@dscs.sjp.ac.l Department of Computer Science Universit of Sri Jaewardanepura Line drawing algorithms DDA Midpoint (Bresenham s) Algorithm Circle drawing algorithms

More information

Topic #1: Rasterization (Scan Conversion)

Topic #1: Rasterization (Scan Conversion) Topic #1: Rasterization (Scan Conversion) We will generally model objects with geometric primitives points, lines, and polygons For display, we need to convert them to pixels for points it s obvious but

More information

Evening s Goals. Mathematical Transformations. Discuss the mathematical transformations that are utilized for computer graphics

Evening s Goals. Mathematical Transformations. Discuss the mathematical transformations that are utilized for computer graphics Evening s Goals Discuss the mathematical transformations that are utilized for computer graphics projection viewing modeling Describe aspect ratio and its importance Provide a motivation for homogenous

More information

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:

More information

How is project #1 going?

How is project #1 going? How is project # going? Last Lecture Edge Detection Filtering Pramid Toda Motion Deblur Image Transformation Removing Camera Shake from a Single Photograph Rob Fergus, Barun Singh, Aaron Hertzmann, Sam

More information

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices Uses of Transformations 2D transformations Homogeneous coordinates odeling: position and resie parts of a comple model; Viewing: define and position the virtual camera Animation: define how objects move/change

More information

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:

More information

Image Warping. Some slides from Steve Seitz

Image Warping.   Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 26 Image Warping image filtering: change range of image g() T(f()) f T f image

More information

Image Warping, mesh, and triangulation CSE399b, Spring 07 Computer Vision

Image Warping, mesh, and triangulation CSE399b, Spring 07 Computer Vision http://grail.cs.washington.edu/projects/rotoscoping/ Image Warping, mesh, and triangulation CSE399b, Spring 7 Computer Vision Man of the slides from A. Efros. Parametric (global) warping Eamples of parametric

More information

CSCI-4530/6530 Advanced Computer Graphics

CSCI-4530/6530 Advanced Computer Graphics Luo Jr. CSCI-45/65 Advanced Computer Graphics http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s9/ Barb Cutler cutler@cs.rpi.edu MRC 9A Piar Animation Studios, 986 Topics for the Semester Mesh Simplification

More information

Institutionen för systemteknik

Institutionen för systemteknik Code: Day: Lokal: M7002E 19 March E1026 Institutionen för systemteknik Examination in: M7002E, Computer Graphics and Virtual Environments Number of sections: 7 Max. score: 100 (normally 60 is required

More information

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 2 Image Transformations image filtering: change range of image g() T(f())

More information

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows Last Time: Acceleration Data Structures for Ray Tracing Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

CSCI-4530/6530 Advanced Computer Graphics

CSCI-4530/6530 Advanced Computer Graphics Luo Jr. CSCI-453/653 Advanced Computer Graphics http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s7/ Barb Cutler cutler@cs.rpi.edu MRC 33A Piar Animation Studios, 986 Topics for the Semester Meshes

More information

Viewing/Projection IV. Week 4, Fri Jan 29

Viewing/Projection IV. Week 4, Fri Jan 29 Universit of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munner Viewing/Projection IV Week 4, Fri Jan 29 http://www.ugrad.cs.ubc.ca/~cs314/vjan2010 News etra TA office hours in lab

More information

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University Computer Graphics P4 Transformations Aleksandra Pizurica Ghent Universit Telecommunications and Information Processing Image Processing and Interpretation Group Transformations in computer graphics Goal:

More information

Incremental Form. Idea. More efficient if we look at d k, the value of the decision variable at x = k

Incremental Form. Idea. More efficient if we look at d k, the value of the decision variable at x = k Idea 1 m 0 candidates last pixel Note that line could have passed through any part of this pixel Decision variable: d = x(a-b) d is an integer d < 0 use upper pixel d > 0 use lower pixel Incremental Form

More information

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October

More information

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM NAME: Login name: Computer Science 46 Midterm 3//4, :3PM-:5PM This test is 5 questions, of equal weight. Do all of your work on these pages (use the back for scratch space), giving the answer in the space

More information

4. Two Dimensional Transformations

4. Two Dimensional Transformations 4. Two Dimensional Transformations CS362 Introduction to Computer Graphics Helena Wong, 2 In man applications, changes in orientations, sizes, and shapes are accomplished with geometric transformations

More information