Modeling Transformations
|
|
- Jade Lyons
- 5 years ago
- Views:
Transcription
1 Modeling Transformations Michael Kazhdan ( /657) HB Ch. 5 FvDFH Ch. 5
2 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build the Assignment2 project» On Linu: make f Makefile2 (Feel free to tr building the other projects. Let me know if ou have trouble.)
3 Overview Ra-Tracing so far Modeling transformations
4 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; }
5 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
6 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; }
7 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(θ)
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 = GetEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getambientdiffuseandspecular( 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 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 = GetEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getambientdiffuseandspecular( 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;
10 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
11 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 = GetEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getambientdiffuseandspecular( 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;
12 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
13 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 = GetEmissive( hit ); for( i=0 ; i<lightnum ; i++) c += light[i].getambientdiffuseandspecular( 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;
14 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
15 Overview Ratracing so far Modeling transformations
16 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
17 Overview 2D Transformations Basic 2D transformations Matri representation Matri composition 3D Transformations Basic 3D transformations Same as 2D
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 = s 0 0 s Like scale with negative scale values 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 Treat 2D positions as 3D positions b adding a third coordinate with a 1 :, (,, 1) Represent translations using a 33 matri: 1 = 1 0 t 0 1 t = + t = + t
42 Homogeneous Coordinates Add a 3rd coordinate to ever 2D point (,, w) represents a point at location, w w (,, 0) represents a (directed) point at infinit (0, 0, 0) is not allowed 2 1 (2,1,1) or (4,2,2) or (6,3,3) 1 2 Convenient coordinate sstem to represent man useful transformations
43 Basic 2D Transformations Basic 2D transformations as 3 3 matrices t = 0 1 t Translate 1 1 = s s Scale = cos θ sin θ 0 sin θ cos θ Rotate 1
44 Affine Transformations Affine transformations are combinations of Linear transformations, and Translations w = a b c d e f w Properties of affine transformations: Origin does not necessaril map to origin Lines map to lines Parallel lines remain parallel Closed under composition
45 Affine Transformations Affine transformations are combinations of Linear transformations, and Translations w = a b c d e f w Note that under projective transformations Properties of,, affine 1 has transformations: to map to (,, 1) Origin does not necessaril map to origin Lines map to lines Parallel lines remain parallel Closed under composition
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 Projective Transformations Projective transformations Affine transformations, and Projective warps w = a b c d e f g h i Properties Note of that projective under projective transformations: Origin, does, 1 not does necessaril not have to map to to ( origin,, 1) Lines map to lines Parallel lines do not necessaril remain parallel Closed under composition w
48 Overview 2D Transformations Basic 2D transformations Matri representation Matri composition 3D Transformations Basic 3D transformations Same as 2D
49 Matri Composition Transformations can be combined b matri multiplication 1 0 t cos θ sin θ 0 s 0 0 = 0 1 t sin θ cos θ 0 0 s 0 w w p = T t, t R θ S s, s p
50 Matri Composition Matrices are a convenient and efficient wa to represent a sequence of transformations General purpose representation Efficienc with pre-multiplication of matrices p = T R S p p = (T R S)(p)
51 Matri Composition Be aware: order of transformations matters» Matri multiplication is not commutative p = T R S p Global Local
52 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)
53 Overview 2D Transformations Basic 2D transformations Matri representation Matri composition 3D Transformations Basic 3D transformations Same as 2D
54 3D Transformations Same idea as 2D transformations Homogeneous coordinates: (,, z, w) 4 4 transformation matrices» Affine z 1» Projective z w = = a b c d e f g h i j k l a b c d e f g h i j k l m n o p z 1 z w
55 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
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 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
57 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
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. U U z T (a,b,c) z R φ R θ z U
59 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 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 informationCSE328 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 informationModeling 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 informationIndirect 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 informationModeling Transformations
שיעור 3 גרפיקה ממוחשבת תשס"ח ב ליאור שפירא Modeling Transformations Heavil based on: Thomas Funkhouser Princeton Universit CS 426, Fall 2 Modeling Transformations Specif transformations for objects Allows
More informationModeling 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 informationModeling 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 informationScene 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 informationIndirect 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 informationImage 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 information3D 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 information3D 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 informationImage 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 informationImage 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 informationComputer 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 informationRay-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 informationImage 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 informationWhat 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 informationComputer 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 informationComputer 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 informationImage 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 informationIllumination. 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 informationImage 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 informationModeling 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 informationThe 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 informationImage 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 informationCS4670: 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 informationToday 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 informationTransformations 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 informationInteractive 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 informationTwo 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 informationUses 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 informationAffine 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 informationHow 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 information3-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 informationImage 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 informationGLOBAL 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 informationImage 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 informationMAN-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 informationCS 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 informationWarping, 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 informationAnnouncements. 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 information1. 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 informationDetermining 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 informationLast 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 informationLast 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 informationCS 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 information3D 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 informationCS559: 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 informationGeometric 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 informationComputer 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 informationHomogeneous 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 information4. 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 informationGlobal 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 informationMore 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 informationImage 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 information3D 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 informationProf. 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[ ] [ ] 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 informationCS770/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 informationParallelization. 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 information3D 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(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 informationTransformations 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 informationGeometric 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 informationChap 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 informationRay 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 informationAcceleration 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 informationAnnouncements. The equation of projection. Image Formation and Cameras
Announcements Image ormation and Cameras Introduction to Computer Vision CSE 52 Lecture 4 Read Trucco & Verri: pp. 5-4 HW will be on web site tomorrow or Saturda. Irfanview: http://www.irfanview.com/ is
More informationCSCI-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 informationCS 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 informationLighting. 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 informationTransformations. 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 informationCPSC 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 informationGeneral 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 informationWhat 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 informationCS 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 informationImage 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 informationEditing 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 informationCSCI-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 informationEffects 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 informationTo 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 information2D 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 informationRay 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 informationPerspective 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 informationRay 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 informationTo 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 informationName: [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 informationTransformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship?
Utah School of Computing Fall 25 Transformations II CS46 Computer Graphics From Rich Riesenfeld Fall 25 Arbitrar 3D Rotation What is its inverse? What is its transpose? Can we constructivel elucidate this
More informationSolid 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 informationGeometric 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 informationComputer 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 information1/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 informationCS5620 Intro to Computer Graphics
Ra Tracing Ra-Tracing A B C D Photorealism Objective: To generate images that are as close as possible to those perceived b the human ee. Method: Accurate simulation of optical phenomena. Copright Page
More informationSpatial Data Structures
Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster
More informationChapter 3 : Computer Animation
Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations
More informationMotivation. 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 informationp =(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 informationMotivation. 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 informationLecture 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