Modeling Transformations

Size: px
Start display at page:

Download "Modeling Transformations"

Transcription

1 Modeling Transformations Michael Kazhdan ( /657) HB Ch. 5 FvDFH Ch. 5

2 Overview Ra-Tracing so far Modeling transformations

3 Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh, int depth, float cutoff) { Image image = new Image(width, height); for (int i = 0; i < width; i++) for (int j = 0; j < height; j++) { Ra ra = ConstructRaThroughPiel(camera, i, j); image[i][j] = GetColor( scene, ra, 1, depth, Color( cutoff, cutoff, cutoff ) ); } return image; }

4 Ra Tracing For each sample Construct ra from ee position through view plane Compute color contribution of the ra Ras through view plane Ee position Samples on view plane

5 Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int height, int depth, float cutoff) { Image image = new Image(width, height); for (int i = 0; i < width; i++) for (int j = 0; j < height; j++) { Ra ra = ConstructRaThroughPiel(camera, i, j); image[i][j] = GetColor( scene, ra, 1, depth, Color( cutoff, cutoff, cutoff ) ); } return image; }

6 Constructing Ra Through a Piel 2D Eample: The ra passing through the i-th piel is defined b: Ra t = p 0 + t v p 0 : camera position v: direction to the i-th piel: v = p i p 0 p i p 0 p 0 θ p[i]: i-th piel location: v i p i = p d tan θ up height p 1 and p 2 are the endpoints of the view plane: p 1 = p 0 + d towards d tan θ up p 2 = p 0 + d towards + d tan θ up up towards d p[i] p 2 p 1 2 d tan(θ)

7 Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int height, int depth, float cutoff) { Image image = new Image(width, height); for (int i = 0; i < width; i++) for (int j = 0; j < height; j++) { Ra ra = ConstructRaThroughPiel(camera, i, j); image[i][j] = GetColor( scene, ra, 1, depth, Color( cutoff, cutoff, cutoff ) ); Color GetColor( } Scene scene, Ra ra, float ir, int d, Color co ) return image; { } HitInformation hit; Color c(0,0,0); if( d 0 (co[0]>1 && co[1]>1 && co[2]>1) ) return c; } if( Intersect( scene, ra, hit ) 0 ) { c = GetAmbientAndEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getdiffuseandspecular( ra, hit ); Ra reflectedra = ReflectedRa( ra, hit.p, hit.n ); c += GetColor( scene, reflectedra, ir, d-1, co/hit.spec ) * hit.spec; Ra refractedra = RefractedRa( ra, hit.p, hit.n, hit.ir); c += GetColor( scene, refractedra, hit.ir, d-1, co/hit.tran ) * hit.tran; } return c;

8 Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int height, int depth, float cutoff) { Image image = new Image(width, height); for (int i = 0; i < width; i++) for (int j = 0; j < height; j++) { Ra ra = ConstructRaThroughPiel(camera, i, j); image[i][j] = GetColor( scene, ra, 1, depth, Color( cutoff, cutoff, cutoff ) ); Color GetColor( } Scene scene, Ra ra, float ir, int d, Color co ) return image; { } HitInformation hit; Color c(0,0,0); if( d 0 (co[0]>1 && co[1]>1 && co[2]>1) ) return c; } if( Intersect( scene, ra, hit ) 0 ) { c = GetAmbientAndEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getdiffuseandspecular( ra, hit ); Ra reflectedra = ReflectedRa( ra, hit.p, hit.n ); c += GetColor( scene, reflectedra, ir, d-1, co/hit.spec ) * hit.spec; Ra refractedra = RefractedRa( ra, hit.p, hit.n, hit.ir); c += GetColor( scene, refractedra, hit.ir, d-1, co/hit.tran ) * hit.tran; } return c;

9 Ra-Scene Intersection Intersections with geometric primitives Sphere Triangle Groups of primitives (scene) Acceleration techniques Bounding volume hierarchies Spatial partitions» Uniform grids» Octrees» BSP trees

10 Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int height, int depth, float cutoff) { Image image = new Image(width, height); for (int i = 0; i < width; i++) for (int j = 0; j < height; j++) { Ra ra = ConstructRaThroughPiel(camera, i, j); image[i][j] = GetColor( scene, ra, 1, depth, Color( cutoff, cutoff, cutoff ) ); Color GetColor( } Scene scene, Ra ra, float ir, int d, Color co ) return image; { } HitInformation hit; Color c(0,0,0); if( d 0 (co[0]>1 && co[1]>1 && co[2]>1) ) return c; } if( Intersect( scene, ra, hit ) 0 ) { c = GetAmbientAndEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getdiffuseandspecular( ra, hit ); Ra reflectedra = ReflectedRa( ra, hit.p, hit.n ); c += GetColor( scene, reflectedra, ir, d-1, co/hit.spec ) * hit.spec; Ra refractedra = RefractedRa( ra, hit.p, hit.n, hit.ir); c += GetColor( scene, refractedra, hit.ir, d-1, co/hit.tran ) * hit.tran; } return c;

11 Surface Illumination Calculation Viewer L 1 L 2 N V I = I E + L K A I L A + K D N, L + K S V, R n I L S L

12 Ra Tracing (Recursive) Image RaTrace(Camera camera, Scene scene, int width, int height, int depth, float cutoff) { Image image = new Image(width, height); for (int i = 0; i < width; i++) for (int j = 0; j < height; j++) { Ra ra = ConstructRaThroughPiel(camera, i, j); image[i][j] = GetColor( scene, ra, 1, depth, Color( cutoff, cutoff, cutoff ) ); Color GetColor( } Scene scene, Ra ra, float ir, int d, Color co ) return image; { } HitInformation hit; Color c(0,0,0); if( d 0 (co[0]>1 && co[1]>1 && co[2]>1) ) return c; } if( Intersect( scene, ra, hit ) 0 ) { c = GetAmbientAndEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getdiffuseandspecular( ra, hit ); Ra reflectedra = ReflectedRa( ra, hit.p, hit.n ); c += GetColor( scene, reflectedra, ir, d-1, co/hit.spec ) * hit.spec; Ra refractedra = RefractedRa( ra, hit.p, hit.n, hit.ir); c += GetColor( scene, refractedra, hit.ir, d-1, co/hit.tran ) * hit.tran; } return c;

13 Ra Tracing (Recursive) Consider the contribution of: Reflected Ras Refracted Ras L 1 L 0 I = I E + L K A I L A + K D N, L + K S V, R n I L S L + K s I R + K T I T

14 Overview Ratracing so far Modeling transformations

15 Modeling Transformations Specif transformations for objects Allows definitions of objects in own coordinate sstems Allows use of object definition multiple times in a scene H&B Figure 109

16 Overview 2D Transformations Basic 2D transformations Matri representation Matri composition 3D Transformations Basic 3D transformations Same as 2D

17 Simple 2D Transformations Translation p = p + t p p = p p + t t p p

18 Simple 2D Transformations Translation p = p + t p p = p p + t t

19 Simple 2D Transformations Scale p = S p p p = s 0 0 s p p

20 Simple 2D Transformation Rotation p = R p p p = cos θ sin θ sin θ cos θ p p

21 2D Modeling Transformations Object Coordinates Scale Translate Scale Rotate Translate World Coordinates

22 2D Modeling Transformations Object Coordinates Let s look at this in detail World Coordinates

23 2D Modeling Transformations Object Coordinates

24 2D Modeling Transformations Object Coordinates Scale.3,.3 Rotate -90 Translate 5, 3

25 2D Modeling Transformations Object Coordinates Scale.3,.3 Rotate -90 Translate 5, 3

26 2D Modeling Transformations Object Coordinates Scale.3,.3 Rotate -90 Translate 3, 5 World Coordinates

27 Basic 2D Transformations Translation: = + t = + t Scale: = s = s Rotation: = cos θ sin θ = sin θ + cos θ Transformations can be combined (with simple algebra)

28 Basic 2D Transformations Translation: = + t = + t Scale: = s = s Rotation: = cos θ sin θ = sin θ + cos θ

29 Basic 2D Transformations Translation: = + t = + t Scale: = s = s (, ) (, ) Rotation: = cos θ sin θ = sin θ + cos θ = s = s

30 Basic 2D Transformations Translation: = + t = + t Scale: = s = s Rotation: = cos θ sin θ = sin θ + cos θ (, ) = s = s = s cos θ s sin θ = s sin θ + s cos θ

31 Basic 2D Transformations Translation: = + t = + t Scale: = s = s (, ) Rotation: = cos θ sin θ = sin θ + cos θ = s = s = s cos θ s sin θ = s sin θ + s cos θ = s cos θ s sin θ + t = s sin θ + s cos θ + t

32 Overview 2D Transformations Basic 2D transformations Matri representation Matri composition 3D Transformations Basic 3D transformations Same as 2D

33 Matri Representation Represent 2D transformation b a matri a c b d Multipl matri b column vector appl transformation to point = a b c d = a + b = c + d

34 Matri Representation Transformations combined b multiplication = a b c d e g f h i k j k Matrices are a convenient and efficient wa to represent a sequence of transformations!

35 22 Matrices What tpes of transformations can be represented with a 22 matri? 2D Scale around (0,0)? = s = s = s 0 0 s 2D Rotate around (0,0)? = cos θ sin θ = sin θ + cos θ = cos θ sin θ sin θ cos θ 2D Mirror over Y ais? = = =

36 22 Matrices What tpes of transformations can be represented with a 22 matri? 2D Scale around (0,0)? = s = s Like scale with negative scale values = s 0 0 s 2D Mirror over Y ais? = = =

37 22 Matrices What tpes of transformations can be represented with a 22 matri? 2D Translation?

38 22 Matrices What tpes of transformations can be represented with a 22 matri? 2D Translation? = + t = + t ' ' NO! a c b d Onl linear 2D transformations can be represented with a 2 2 matri

39 Linear Transformations Linear transformations are combinations of Scale, and Rotation Properties of linear transformations: Satisfies: T s 1 p 1 + s 2 p 2 = s 1 T p 1 + s 2 T(p 2 ) Origin maps to origin Lines map to lines Parallel lines remain parallel Closed under composition = a b c d

40 Linear Transformations Linear transformations are combinations of Scale, and Rotation Properties of linear transformations: Satisfies: T s 1 p 1 + s 2 p 2 = s 1 T p 1 + s 2 T(p 2 ) Origin maps to origin = Lines map to lines Parallel lines remain parallel Closed under composition a b c d Translations do not map the origin to the origin

41 2D Translation 2D translation represented b a 33 matri Point represented with homogeneous coordinates = + t w = + t w w = w w = 1 0 t 0 1 t w

42 2D Translation 2D translation represented b a 33 matri Point represented with homogeneous coordinates = + t = + t w = 1 1 = 1 0 t 0 1 t Fiing w = 1, we can get translation.

43 Homogeneous Coordinates Add a 3rd coordinate to ever 2D point (,, w) represents a point at location (,, 0) represents a point at infinit (0, 0, 0) is not allowed 2 1, w w (2,1,1) or (4,2,2) or (6,3,3) 1 2 Convenient coordinate sstem to represent man useful transformations

44 Basic 2D Transformations Basic 2D transformations as 3 3 matrices t = 0 1 t Translate 1 1 = s s Scale 1 1 = cos θ sin θ 0 sin θ cos θ Rotate 1

45 Affine Transformations Affine transformations are combinations of Linear transformations, and Translations w = a b c d e f Properties of affine transformations: Origin does not necessaril map to origin Lines map to lines Parallel lines remain parallel Closed under composition w

46 Projective Transformations Projective transformations Affine transformations, and Projective warps w = a b c d e f g h i Properties of projective transformations: Origin does not necessaril map to origin Lines map to lines Parallel lines do not necessaril remain parallel Closed under composition w

47 Overview 2D Transformations Basic 2D transformations Matri representation Matri composition 3D Transformations Basic 3D transformations Same as 2D

48 Matri Composition Transformations can be combined b matri multiplication w = 1 0 t 0 1 t cos θ sin θ 0 sin θ cos θ s s p = T t, t R θ S s, s p w

49 Matri Composition Matrices are a convenient and efficient wa to represent a sequence of transformations General purpose representation Hardware matri multipl Efficienc with pre-multiplication» Matri multiplication is associative p = T R S p p = (T R S)(p)

50 Matri Composition Be aware: order of transformations matters» Matri multiplication is not commutative p = T R S p Global Local

51 Matri Composition Rotate b θ around arbitrar point (a, b) M = T a, b R θ T( a, b) The trick: First, translate (a, b) to the origin. Net, do the rotation about origin. Finall, translate back. (a, b) Scale b (s, s ) around arbitrar point (a, b) M = T a, b S s, s T( a, b) (Use the same trick.) (a, b)

52 Overview 2D Transformations Basic 2D transformations Matri representation Matri composition 3D Transformations Basic 3D transformations Same as 2D

53 3D Transformations Same idea as 2D transformations Homogeneous coordinates: (,, z, w) 4 4 transformation matrices z w = a b c d e f g h i j k l m n o p z w

54 Basic 3D Transformations z w = Identit z w z w = s s s z Scale z w z w = t t t z z w Translation

55 Basic 3D Transformations Pitch-Roll-Yaw Convention: An rotation can be epressed as the combination of a rotation about the -, the -, and the z-ais. Rotate around z ais: z w = cos θ sin θ 0 0 sin θ cos θ z w Rotate around ais: z w = cos θ 0 sin θ sin θ 0 cos θ z w Rotate around ais: z w = cos θ sin θ 0 0 sin θ cos θ z w

56 Basic 3D Transformations Pitch-Roll-Yaw Convention: An rotation can be epressed as the combination of a rotation about the -, the -, and the z-ais. Rotate around z ais: z w = cos θ sin θ 0 0 sin θ cos θ z w How do ou rotate around an Rotate around ais: = arbitrar ais U b angle ψ? Rotate around ais: z w z w = cos θ 0 sin θ sin θ 0 cos θ cos θ sin θ 0 0 sin θ cos θ z w z w

57 Rotation B ψ Around Arbitrar Ais U Align U (wlog) with the z-ais: T (a,b,c) : Translate U b (a, b, c) to pass through origin R φ R θ : Rotate around the - and -aes b θ and φ degrees to get U aligned with the z-ais. R z (ψ): Perform rotation b ψ around the z-ais. Do inverse of original transformation for alignment. U U z T (a,b,c) z R φ R θ z U

58 Rotation B ψ Around Arbitrar Ais U Align U (wlog) with the z-ais: T (a,b,c) : Translate U b (a, b, c) to pass through origin R φ R θ : Rotate around the - and -aes b θ and φ degrees to get U aligned with the z-ais. R z (ψ): Perform rotation b ψ around the z-ais. Do inverse of original transformation for alignment. p = R φ R θ T a,b,c 1 Rz ψ R φ R θ T a,b,c p Aligning Transformation

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

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

Modeling Transformations

Modeling Transformations Transformations Transformations Specif transformations for objects o Allos definitions of objects in on coordinate sstems o Allos use of object definition multiple times in a scene Adam Finkelstein Princeton

More information

Modeling Transformations

Modeling Transformations שיעור 3 גרפיקה ממוחשבת תשס"ח ב ליאור שפירא Modeling Transformations Heavil based on: Thomas Funkhouser Princeton Universit CS 426, Fall 2 Modeling Transformations Specif transformations for objects Allows

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Thomas Funkhouser Princeton Universit CS 426, Fall 2 Modeling Transformations Specif transformations for objects Allos definitions of objects in on coordinate sstems Allos use

More information

Scene Graphs & Modeling Transformations COS 426

Scene Graphs & Modeling Transformations COS 426 Scene Graphs & Modeling Transformations COS 426 3D Object Representations Points Range image Point cloud Surfaces Polgonal mesh Subdivision Parametric Implicit Solids Voels BSP tree CSG Sweep High-level

More information

Modeling Transformations Revisited

Modeling Transformations Revisited Modeling Transformations Revisited Basic 3D Transformations Translation Scale Shear Rotation 3D Transformations Same idea as 2D transformations o Homogeneous coordinates: (,,z,w) o 44 transformation matrices

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 : 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

Indirect Illumination

Indirect Illumination Indirect Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Surface Illumination Calculation Multiple light source: 2 Viewer N 1 V I = I E + K A I A + K D N, + K S V, R n I Overview

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, Spring 2 Image Transformations image filtering: change range of image g() = T(f())

More information

Indirect Illumination

Indirect Illumination Indirect Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Announcements Midterm on October 17 th Office hours: Misha: Monday 2-3 Malone 229 Sing Chun: Friday 9-10 Malone 216

More information

3D Rendering and Ray Casting

3D Rendering and Ray Casting 3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)

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

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

Image Warping CSE399b, Spring 07 Computer Vision

Image Warping CSE399b, Spring 07 Computer Vision Image Warping CSE399b, Spring 7 Computer Vision http://maps.a9.com http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html Autostiching on A9.com

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

Image warping. image filtering: change range of image. image warping: change domain of image g(x) = f(h(x)) h(y)=0.5y+0.5. h([x,y])=[x,y/2] f h

Image warping. image filtering: change range of image. image warping: change domain of image g(x) = f(h(x)) h(y)=0.5y+0.5. h([x,y])=[x,y/2] f h Image warping Image warping image filtering: change range of image g() () = h(f()) h(f()) f h g h()=0.5+0.5 image warping: change domain of image g() = f(h()) f h g h([,])=[,/2] Parametric (global) warping

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

Image Warping (Szeliski Sec 2.1.2)

Image Warping (Szeliski Sec 2.1.2) Image Warping (Szeliski Sec 2..2) http://www.jeffre-martin.com CS94: Image Manipulation & Computational Photograph Aleei Efros, UC Berkele, Fall 7 Some slides from Steve Seitz Image Transformations image

More information

Illumination. Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2

Illumination. Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Ray Casting Image RayCast(Camera camera, Scene scene, int width, int height) { Image image = new Image(width, height); for

More information

3D Rendering and Ray Casting

3D Rendering and Ray Casting 3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Connelly Barnes, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Modeling Transformations

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

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

Image Warping. Many slides from Alyosha Efros + Steve Seitz. Photo by Sean Carroll

Image Warping. Many slides from Alyosha Efros + Steve Seitz. Photo by Sean Carroll Image Warping Man slides from Alosha Efros + Steve Seitz Photo b Sean Carroll Morphing Blend from one object to other with a series of local transformations Image Transformations image filtering: change

More information

Transformations II. Week 2, Wed Jan 17

Transformations II. Week 2, Wed Jan 17 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munzner Transformations II Week 2, Wed Jan 7 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 Readings for Jan 5-22 FCG Chap 6 Transformation

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

Ray-Tracing. Misha Kazhdan

Ray-Tracing. Misha Kazhdan Ray-Tracing Misha Kazhdan Ray-Tracing In graphics, we often represent the surface of a 3D shape by a set of triangles. Goal: Ray-Tracing Take a collection of triangles representing a 3D scene and render

More information

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionall left blank. 4.10 Concatenation of Transformations 219 in

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

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

Global Illumination. Connelly Barnes CS 4810: Graphics

Global Illumination. Connelly Barnes CS 4810: Graphics Global Illumination Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Overview Direct Illumination

More information

CS 2770: Intro to Computer Vision. Multiple Views. Prof. Adriana Kovashka University of Pittsburgh March 14, 2017

CS 2770: Intro to Computer Vision. Multiple Views. Prof. Adriana Kovashka University of Pittsburgh March 14, 2017 CS 277: Intro to Computer Vision Multiple Views Prof. Adriana Kovashka Universit of Pittsburgh March 4, 27 Plan for toda Affine and projective image transformations Homographies and image mosaics Stereo

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

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

Affine and Projective Transformations

Affine and Projective Transformations CS 674: Intro to Computer Vision Affine and Projective Transformations Prof. Adriana Kovaska Universit of Pittsburg October 3, 26 Alignment problem We previousl discussed ow to matc features across images,

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

CS4670: Computer Vision

CS4670: Computer Vision CS467: Computer Vision Noah Snavely Lecture 8: Geometric transformations Szeliski: Chapter 3.6 Reading Announcements Project 2 out today, due Oct. 4 (demo at end of class today) Image alignment Why don

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

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

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

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

Last Lecture. Edge Detection. Filtering Pyramid

Last Lecture. Edge Detection. Filtering Pyramid 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 T. Roweis and William T.

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

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

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

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

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

[ ] [ ] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D. φ = cos 1 1/ φ = tan 1 [ 2 /1]

[ ] [ ] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D. φ = cos 1 1/ φ = tan 1 [ 2 /1] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D A vector is specified b its coordinates, so it is defined relative to a reference frame. The same vector will have different coordinates in

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

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

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

Homogeneous Coordinates

Homogeneous Coordinates COMS W4172 3D Math 2 Steven Feiner Department of Computer Science Columbia Universit New York, NY 127 www.cs.columbia.edu/graphics/courses/csw4172 Februar 1, 218 1 Homogeneous Coordinates w X W Y X W Y

More information

More on Transformations. COS 426, Spring 2019 Princeton University

More on Transformations. COS 426, Spring 2019 Princeton University More on Transformations COS 426, Spring 2019 Princeton Universit Agenda Grab-bag of topics related to transformations: General rotations! Euler angles! Rodrigues s rotation formula Maintaining camera transformations!

More information

Transformations III. Week 2, Fri Jan 19

Transformations III. Week 2, Fri Jan 19 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 2007 Tamara Munzner Transformations III Week 2, Fri Jan 9 http://www.ugrad.cs.ubc.ca/~cs34/vjan2007 Readings for Jan 5-22 FCG Chap 6 Transformation

More information

Computer Graphics. 2D transformations. Transforma3ons in computer graphics. Overview. Basic classes of geometric transforma3ons

Computer Graphics. 2D transformations. Transforma3ons in computer graphics. Overview. Basic classes of geometric transforma3ons Transforma3ons in computer graphics omputer Graphics Transforma3ons leksandra Piurica Goal: introduce methodolog to hange coordinate sstem Move and deform objects Principle: transforma3ons are applied

More information

Geometric Transformations

Geometric Transformations CS INTRODUCTION TO COMPUTER GRAPHICS Geometric Transformations D and D Andries an Dam 9/9/7 /46 CS INTRODUCTION TO COMPUTER GRAPHICS How do we use Geometric Transformations? (/) Objects in a scene at the

More information

Announcements. Equation of Perspective Projection. Image Formation and Cameras

Announcements. Equation of Perspective Projection. Image Formation and Cameras Announcements Image ormation and Cameras Introduction to Computer Vision CSE 52 Lecture 4 Read Trucco & Verri: pp. 22-4 Irfanview: http://www.irfanview.com/ is a good Windows utilit for manipulating images.

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

Image warping/morphing

Image warping/morphing Image warping/morphing Digital Visual Effects, Spring 2007 Yung-Yu Chuang 2007/3/20 with slides b Richard Szeliski, Steve Seitz, Tom Funkhouser and Aleei Efros Image warping Image formation B A Sampling

More information

Geometric Model of Camera

Geometric Model of Camera Geometric Model of Camera Dr. Gerhard Roth COMP 42A Winter 25 Version 2 Similar Triangles 2 Geometric Model of Camera Perspective projection P(X,Y,Z) p(,) f X Z f Y Z 3 Parallel lines aren t 4 Figure b

More information

Parallelization. Memory coherency helps when distributing rays to various threads/processors

Parallelization. Memory coherency helps when distributing rays to various threads/processors / Ra Tracing OpenGL projects triangles onto the image plane and rasteries them to determine which piels the cover Scanline rendering is a per triangle operation Ra Tracing instead works as a per piel operation

More information

Ray Tracing. Local Illumination. Object Space: Global Illumination. Image Space: Backward Ray Tracing. First idea: Forward Ray Tracing

Ray Tracing. Local Illumination. Object Space: Global Illumination. Image Space: Backward Ray Tracing. First idea: Forward Ray Tracing CSCI 420 Computer Graphics Lecture 15 Ra Tracing Ra Casting Shadow Ras Reflection and Transmission [Angel Ch. 11] Local Illumination Object illuminations are independent No light scattering between objects

More information

(x, y) (ρ, θ) ρ θ. Polar Coordinates. Cartesian Coordinates

(x, y) (ρ, θ) ρ θ. Polar Coordinates. Cartesian Coordinates Coordinate Sstems Point Representation in two dimensions Cartesian Coordinates: (; ) Polar Coordinates: (; ) (, ) ρ θ (ρ, θ) Cartesian Coordinates Polar Coordinates p = CPS1, 9: Computer Graphics D Geometric

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

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

Acceleration Data Structures

Acceleration Data Structures CT4510: Computer Graphics Acceleration Data Structures BOCHANG MOON Ray Tracing Procedure for Ray Tracing: For each pixel Generate a primary ray (with depth 0) While (depth < d) { Find the closest intersection

More information

Prof. Feng Liu. Winter /05/2019

Prof. Feng Liu. Winter /05/2019 Prof. Feng Liu Winter 2019 http://www.cs.pd.edu/~fliu/courses/cs410/ 02/05/2019 Last Time Image alignment 2 Toda Image warping The slides for this topic are used from Prof. Yung-Yu Chuang, which use materials

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

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project To do Continue to work on ray programming assignment Start thinking about final project Lighting Course Outline 3D Graphics Pipeline Modeling (Creating 3D Geometry) Mesh; modeling; sampling; Interaction

More information

Transformations. Examples of transformations: shear. scaling

Transformations. Examples of transformations: shear. scaling Transformations Eamples of transformations: translation rotation scaling shear Transformations More eamples: reflection with respect to the y-ais reflection with respect to the origin Transformations Linear

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

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

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

2D transformations and homogeneous coordinates

2D transformations and homogeneous coordinates 2D transformations and homogeneous coordinates Dr Nicolas Holzschuch Universit of Cape Ton e-mail: holzschu@cs.uct.ac.za Map of the lecture Transformations in 2D: vector/matri notation eample: translation,

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

Ray Tracing. Outline. Ray Tracing: History

Ray Tracing. Outline. Ray Tracing: History Foundations of omputer Graphics Online Lecture 9: Ray Tracing 1 History and asic Ray asting Ravi Ramamoorthi Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

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

Ray Casting. Outline in Code. Outline. Finding Ray Direction. Heckbert s Business Card Ray Tracer. Foundations of Computer Graphics (Fall 2012)

Ray Casting. Outline in Code. Outline. Finding Ray Direction. Heckbert s Business Card Ray Tracer. Foundations of Computer Graphics (Fall 2012) Foundations of Computer Graphics (Fall 2012) CS 184, Lectures 17, 18: Nuts and bolts of Ray Tracing Heckbert s Business Card Ray Tracer http://inst.eecs.berkeley.edu/~cs184 Acknowledgements: Thomas Funkhouser

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

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

6. Modelview Transformations

6. Modelview Transformations 6. Modelview Transformations Transformation Basics Transformations map coordinates from one frame of reference to another through matri multiplications Basic transformation operations include: - translation

More information

Ray Casting. Connelly Barnes CS 4810: Graphics

Ray Casting. Connelly Barnes CS 4810: Graphics Ray Casting Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Traditional Pinhole Camera The film

More information

Basic commands using the "Insert" menu: To insert a two-dimensional (2D) graph, use: To insert a three-dimensional (3D) graph, use: Insert > Plot > 3D

Basic commands using the Insert menu: To insert a two-dimensional (2D) graph, use: To insert a three-dimensional (3D) graph, use: Insert > Plot > 3D Oct 7::3 - GraphsBasics5_ForPrinting.sm Eamples of two- and three-dimensional graphics in Smath Studio --------------------------------------------------------------- B Gilberto E. Urro, October Basic

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

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects Solid Modeling Thomas Funkhouser Princeton University C0S 426, Fall 2000 Solid Modeling Represent solid interiors of objects Surface may not be described explicitly Visible Human (National Library of Medicine)

More information

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012) Foundations of omputer Graphics (Spring 202) S 84, Lecture 5: Ray Tracing http://inst.eecs.berkeley.edu/~cs84 Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

More information

Name: [20 points] Consider the following OpenGL commands:

Name: [20 points] Consider the following OpenGL commands: Name: 2 1. [20 points] Consider the following OpenGL commands: glmatrimode(gl MODELVIEW); glloadidentit(); glrotatef( 90.0, 0.0, 1.0, 0.0 ); gltranslatef( 2.0, 0.0, 0.0 ); glscalef( 2.0, 1.0, 1.0 ); What

More information

CS 428: Fall Introduction to. Viewing and projective transformations. Andrew Nealen, Rutgers, /23/2009 1

CS 428: Fall Introduction to. Viewing and projective transformations. Andrew Nealen, Rutgers, /23/2009 1 CS 428: Fall 29 Introduction to Computer Graphics Viewing and projective transformations Andrew Nealen, Rutgers, 29 9/23/29 Modeling and viewing transformations Canonical viewing volume Viewport transformation

More information

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3 Geometric transformations in 3D and coordinate frames Computer Graphics CSE 167 Lecture 3 CSE 167: Computer Graphics 3D points as vectors Geometric transformations in 3D Coordinate frames CSE 167, Winter

More information

MEM380 Applied Autonomous Robots Winter Robot Kinematics

MEM380 Applied Autonomous Robots Winter Robot Kinematics MEM38 Applied Autonomous obots Winter obot Kinematics Coordinate Transformations Motivation Ultimatel, we are interested in the motion of the robot with respect to a global or inertial navigation frame

More information

1/29/13. Computer Graphics. Transformations. Simple Transformations

1/29/13. Computer Graphics. Transformations. Simple Transformations /29/3 Computer Graphics Transformations Simple Transformations /29/3 Contet 3D Coordinate Sstems Right hand (or counterclockwise) coordinate sstem Left hand coordinate sstem Not used in this class and

More information

Editing and Transformation

Editing and Transformation Lecture 5 Editing and Transformation Modeling Model can be produced b the combination of entities that have been edited. D: circle, arc, line, ellipse 3D: primitive bodies, etrusion and revolved of a profile

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

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

Glossary alternate interior angles absolute value function Example alternate exterior angles Example angle of rotation Example

Glossary alternate interior angles absolute value function Example alternate exterior angles Example angle of rotation Example Glossar A absolute value function An absolute value function is a function that can be written in the form, where is an number or epression. alternate eterior angles alternate interior angles Alternate

More information

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline Sampling and Reconstruction of Visual Appearance CSE 274 [Fall 2018], Special Lecture Ray Tracing Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir Motivation Ray Tracing is a core aspect of both offline

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

Computer Graphics. Ray Tracing. Copyright Gotsman, Elber, Barequet, Karni, Sheffer. Page 1. Ray-Tracing. Illumination Models

Computer Graphics. Ray Tracing. Copyright Gotsman, Elber, Barequet, Karni, Sheffer. Page 1. Ray-Tracing. Illumination Models Ra Tracing Ra-Tracing Illumination Models Local: Depends onl on the model, the light sources and the viewer. Eas to simulate. Eamples: Diffuse and specular illumination models. Flat, Gourard and Phong

More information