Shadows in Computer Graphics

Size: px
Start display at page:

Download "Shadows in Computer Graphics"

Transcription

1 Shadows in Computer Graphics Steven Janke November 2014 Steven Janke (Seminar) Shadows in Computer Graphics November / 49

2 Shadows (from Doom) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

3 Simple Shadows Steven Janke (Seminar) Shadows in Computer Graphics November / 49

4 Shadows give position information Steven Janke (Seminar) Shadows in Computer Graphics November / 49

5 Shadow Geometry Steven Janke (Seminar) Shadows in Computer Graphics November / 49

6 Camera Model Steven Janke (Seminar) Shadows in Computer Graphics November / 49

7 View Frustum Near Far z Camera 0,0,0 View Plane Steven Janke (Seminar) Shadows in Computer Graphics November / 49

8 Ideal City (circa 1485) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

9 Perspective Projection y C C z E D W E = (0, 0, e), C = (x, y, z), C = (x s, y s ) EW = e, CD = y, ED = e z EWC EDC y s = y e e z = y 1 z e Steven Janke (Seminar) Shadows in Computer Graphics November / 49

10 Albrecht Durer (Man drawing a Lute ) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

11 Alberti Perspective Diagram 1. Draw lines from front tile corners to center point C. 2. Select point R on horizontal line so CR is distance to painting. 3. Connect R with front tile corners. 4. Draw horizontal lines through intersections of lines in 3 and vertical line through C. 5. Diagonals through tiles are projected into diagonals. Steven Janke (Seminar) Shadows in Computer Graphics November / 49

12 Pedro Berreuguete - Anunciation (circa 1500) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

13 Masaccio - Trinity (1426) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

14 Calculating Cube Perspective y s = y 1 z e x s = x 1 z e Example (Cube Vertices) Eye Coordinates: (0,0,4) World Coordinates: (1, 1, 1), (1, 1, 1), ( 1, 1, 1), ( 1, 1, 1) (1, 1, 1), (1, 1, 1), ( 1, 1, 1), ( 1, 1, 1) Screen Coordinates: (1.33, 1.33), (1.33, 1.33), ( 1.33, 1.33), ( 1.33, 1.33) (0.75, 0.75), (0.75, 0.75), ( 0.75, 0.75), ( 0.75, 0.75) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

15 Cubes in Perspective Steven Janke (Seminar) Shadows in Computer Graphics November / 49

16 Projections Summary Perspective projections and Shadow projections are both projections from a point onto a plane. Next steps: For shadows, we generalize projection to arbitrary plane. Describe calculations compactly and efficiently. Steven Janke (Seminar) Shadows in Computer Graphics November / 49

17 Vectors v = (x 1, y 1, z 1 ) and w = (x 2, y 2, z 2 ) are displacements. Algebra: v + w = (x 1 + x 2, y 1 + y 2, z 1 + z 2 ) and a v = (ax 1, ay 1, az 1 ). Dot Product: v w = v w cos(θ) = x 1 x 2 + y 1 y 2 + z 1 z 2. (If v and w are perpendicular, then v w = 0.) Cross Product: i j k v w = x 1 y 1 z 1 x 2 y 2 z 2 = y 1 z 1 y 2 z 2 i x 1 z 1 x 2 z 2 j + x 1 y 1 x 2 y 2 k Steven Janke (Seminar) Shadows in Computer Graphics November / 49

18 Vector Products x 1,y 1 A B v v w B 0,0 Θ w Dot Product x 2,y 2 A Cross Product Steven Janke (Seminar) Shadows in Computer Graphics November / 49

19 Transformations a 11 a 12 a 13 x a 11 x + a 12 y + a 13 z T v = a 21 a 22 a 23 y = a 21 x + a 22 y + a 23 z a 31 a 32 a 33 z a 31 x + a 32 y + a 33 z Rotation around z-axis uses this matrix: cos θ sin θ 0 R z = sin θ cos θ Matrices give linear transformations: T ( v + w) = T v + T w and T (a v) = at v Cannot represent translations or projections. Steven Janke (Seminar) Shadows in Computer Graphics November / 49

20 Homogeneous Coordinates The point P 0 = ( 1, 5) is on the 2D line 3x + 2y = 7. The vector equation of the line: (3, 2) (P P 0 ) = (3, 2) (x + 1, y 5) = 0 Let P = (x, y) = ( x h w h, y h w h ) be any point on the line 3x + 2y = 7. = 3x h + 2y h 7w h = (3, 2, 7) (x h, y h, w h ) = 0 (x h, y h, w h ) are homogeneous coordinates for the point P. Since w h is arbitrary, there are infinitely many sets of homogeneous coordinates representing P. For example, P 0 = ( 1, 5, 1) = ( 2, 10, 2) = ( 0.5, 2.5, 0.5) Two-dimensional Homogeneous Line equation: n P = 0 Steven Janke (Seminar) Shadows in Computer Graphics November / 49

21 Homogeneous Coordinates for Lines Example (2D Line coordinates) P 1 = (3, 2, 1) and P 2 = (5, 7, 3) determine a two-dimensional line. n (3, 2, 1) = 0 and n (5, 7, 3) = 0. n = (3, 2, 1) (5, 7, 3) = ( 1, 4, 11) The homogeneous coordinates ( 1, 4, 11) represent the line. Both points and lines in two dimensions can be represented by homogeneous coordinates (x, y, w). Steven Janke (Seminar) Shadows in Computer Graphics November / 49

22 Calculating with Homogeneous Coordinates Example (2D Intersection Point) Consider two lines: (2, 2, 1) and (6, 5, 2) (They represent the lines 2x + 2y 1 = 0 and 6x 5y + 2 = 0) P is the point of intersection. (2, 2, 1) P = 0 and (6, 5, 2) P = 0 P must be a vector perpendicular to the two homogeneous line vectors. P = (2, 2, 1) (6, 5, 2) = ( 1, 10, 22) is the cross product. P = ( 1, 10, 22) represents the Cartesian point P = ( 1 22, ) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

23 Points at Infinity Lines 2x + 4y 8 = 0 and 2x + 4y 10 = 0 are parallel. The homogeneous point (4, 2, 0) is on both lines. Points of the form (x h, y h, 0) are points at infinity. Notice that (4, 2, 0) and (5, 3, 0) are distinct points at infinity. Points in 2D Points at Infinity Steven Janke (Seminar) Shadows in Computer Graphics November / 49

24 Homogeneous Coordinates in Three Dimensions Homogeneous coordinates for three dimensional points add a fourth coordinate: Cartesian (x, y, z) = Homogeneous (x, y, z, 1) or (tx, ty, tz, t) Since planes are determined by a normal and a point, (tx, ty, tz, t) also represents a plane. Homogeneous plane equation: n P = 0 Lines have homogeneous coordinates called Plücker coordinates. Steven Janke (Seminar) Shadows in Computer Graphics November / 49

25 Perspective Matrix Now we can express the perspective transformation as a matrix multiplication: x x T (P) = MP = y z = y e z e In the space of homogeneous coordinates (Projective Space), the perspective transformation is a linear function. Steven Janke (Seminar) Shadows in Computer Graphics November / 49

26 Perspective Drawing Steven Janke (Seminar) Shadows in Computer Graphics November / 49

27 Two Point Perspective Steven Janke (Seminar) Shadows in Computer Graphics November / 49

28 Projective Geometry Girard Desargues ( ) was the founding father. Parallel lines intersect in a point at infinity: (x h, y h, 0) Points at infinity fall on a line. Duality: In 2D, for any theorem about points there is a theorem about lines. No concept of length or angle. Projective transformations are linear transformations. In 2D, there is a projective transformation that sends a given four points to another specified four points. Steven Janke (Seminar) Shadows in Computer Graphics November / 49

29 Desargues Theorem Steven Janke (Seminar) Shadows in Computer Graphics November / 49

30 Additional Vector Algebra Tensor Product v x v w = v w T = v y [ ] v x w x v x w y v x w z w x w y w z = v y w x v y w y v y w z v z v z w x v z w y v z w z Vector Triple Product A ( B C) = ( A C) B ( A B) C Dot to Tensor ( A C) B = ( B A) C Steven Janke (Seminar) Shadows in Computer Graphics November / 49

31 2D Projection L E P P T P Line through E and P is E P. T (P) = P = L (E P) = ( L P)E ( L E)P = ((E L) ( L E)I )P = MP Steven Janke (Seminar) Shadows in Computer Graphics November / 49

32 2D Projection Example Project P = (3, 1) onto the line 6x + y 5 = 0 from the point (8, 2). L = (6, 1, 5) E = (8, 2, 1) P = (3, 1, 1) M = (E L) ( L E)I = = T (P) = MP = = Cartesian coordinates for P are (23/31, 17/31). Steven Janke (Seminar) Shadows in Computer Graphics November / 49

33 3D Projection E P n P P = αp + βe. n (αp + βe) = 0 = α = β( n E) ( n P) P = β( n E) n P P + βe P = T (P) = ( n P)E ( n E)P = (E n)p ( n E)P = M = (E n) ( n E)I Steven Janke (Seminar) Shadows in Computer Graphics November / 49

34 This gives Cartesian coordinates (3, 6, 2) Steven Janke (Seminar) Shadows in Computer Graphics November / 49 3D Projection Example Eye point: E = (7, 2, 6) Vertex: P = (4, 5, 0) Plane: 2x y + 2z = 4 n = (2, 1, 2, 4) E = (7, 2, 6, 1) P = (4, 5, 0, 1) M = (E n) ( n E)I = = = P = ( 63, 126, 42, 21)

35 Compare to earlier 3D matrix M = (E n) ( n E)I Perspective projection: Viewing plane is the xy plane with homogeneous representation n = (0, 0, 1, 0). The eye point is E = (0, 0, e, 1) and P = (x, y, z, 1). M = e e e = e e 1 Steven Janke (Seminar) Shadows in Computer Graphics November / 49

36 Shadow Geometry Steven Janke (Seminar) Shadows in Computer Graphics November / 49

37 Points in Shadow Shadow: Fill in the polygon determined by projected vertices. For convex objects, shadows are convex. Vertices that are not incident on both visible and hidden faces are inside the shadow. Steven Janke (Seminar) Shadows in Computer Graphics November / 49

38 Multiple Shadows Steven Janke (Seminar) Shadows in Computer Graphics November / 49

39 Ray Tracing Camera v To Light Source View Window Reflected Ray Steven Janke (Seminar) Shadows in Computer Graphics November / 49

40 Shadow Ray Light P Shadow Steven Janke (Seminar) Shadows in Computer Graphics November / 49

41 Soft Shadows Steven Janke (Seminar) Shadows in Computer Graphics November / 49

42 Penumbra & Umbra Light Object Umbra Penumbra Penumbra Steven Janke (Seminar) Shadows in Computer Graphics November / 49

43 More Soft Shadows Steven Janke (Seminar) Shadows in Computer Graphics November / 49

44 Multiple Lights Steven Janke (Seminar) Shadows in Computer Graphics November / 49

45 Shadow Volume Steven Janke (Seminar) Shadows in Computer Graphics November / 49

46 More Multiple Lights Steven Janke (Seminar) Shadows in Computer Graphics November / 49

47 Further Refinements Shadow Maps Curves (NURBS) Complex Lighting Models (Radiosity) Steven Janke (Seminar) Shadows in Computer Graphics November / 49

48 Complex Shadows Steven Janke (Seminar) Shadows in Computer Graphics November / 49

49 Reference (2015 Steven Janke (Seminar) Shadows in Computer Graphics November / 49

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5) 5493S Computer Graphics Exercise Solution (Chapters 4-5). Given two nonparallel, three-dimensional vectors u and v, how can we form an orthogonal coordinate system in which u is one of the basis vectors?

More information

CS 4620 Midterm 1. Tuesday 22 October minutes

CS 4620 Midterm 1. Tuesday 22 October minutes CS 4620 Midterm 1 Tuesday 22 October 2013 90 minutes Problem 1: Transformations (20 pts) Consider the affine transformation on R 3 defined in homogeneous coordinates by the matrix: 1 M = 1 0 0 2 0 1 0

More information

2D Object Definition (1/3)

2D Object Definition (1/3) 2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself

More information

Homogeneous coordinates, lines, screws and twists

Homogeneous coordinates, lines, screws and twists Homogeneous coordinates, lines, screws and twists In lecture 1 of module 2, a brief mention was made of homogeneous coordinates, lines in R 3, screws and twists to describe the general motion of a rigid

More information

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation and the type of an object. Even simple scaling turns a

More information

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009 Model s Lecture 3 Sections 2.2, 4.4 World s Eye s Clip s s s Window s Hampden-Sydney College Mon, Aug 31, 2009 Outline Model s World s Eye s Clip s s s Window s 1 2 3 Model s World s Eye s Clip s s s Window

More information

Computer Graphics 7: Viewing in 3-D

Computer Graphics 7: Viewing in 3-D Computer Graphics 7: Viewing in 3-D In today s lecture we are going to have a look at: Transformations in 3-D How do transformations in 3-D work? Contents 3-D homogeneous coordinates and matrix based transformations

More information

Computer Graphics: Geometric Transformations

Computer Graphics: Geometric Transformations Computer Graphics: Geometric Transformations Geometric 2D transformations By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, 1 Outlines 1. Basic 2D transformations 2. Matrix Representation of 2D transformations

More information

DRAFT: Mathematical Background for Three-Dimensional Computer Graphics. Jonathan R. Senning Gordon College

DRAFT: Mathematical Background for Three-Dimensional Computer Graphics. Jonathan R. Senning Gordon College DRAFT: Mathematical Background for Three-Dimensional Computer Graphics Jonathan R. Senning Gordon College September 2006 ii Contents Introduction 2 Affine Geometry 3 2. Affine Space...................................

More information

Perspective Mappings. Contents

Perspective Mappings. Contents Perspective Mappings David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy

More information

THE VIEWING TRANSFORMATION

THE VIEWING TRANSFORMATION ECS 178 Course Notes THE VIEWING TRANSFORMATION Kenneth I. Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview One of the most important

More information

Overview. By end of the week:

Overview. By end of the week: Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric

More information

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

More information

EM225 Projective Geometry Part 2

EM225 Projective Geometry Part 2 EM225 Projective Geometry Part 2 eview In projective geometry, we regard figures as being the same if they can be made to appear the same as in the diagram below. In projective geometry: a projective point

More information

Three Dimensional Geometry. Linear Programming

Three Dimensional Geometry. Linear Programming Three Dimensional Geometry Linear Programming A plane is determined uniquely if any one of the following is known: The normal to the plane and its distance from the origin is given, i.e. equation of a

More information

CMSC427 Final Practice v2 Fall 2017

CMSC427 Final Practice v2 Fall 2017 CMSC427 Final Practice v2 Fall 2017 This is to represent the flow of the final and give you an idea of relative weighting. No promises that knowing this will predict how you ll do on the final. Some questions

More information

Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Shadow Algorithms. CSE 781 Winter Han-Wei Shen Shadow Algorithms CSE 781 Winter 2010 Han-Wei Shen Why Shadows? Makes 3D Graphics more believable Provides additional cues for the shapes and relative positions of objects in 3D What is shadow? Shadow:

More information

3D Computer Graphics. Jared Kirschner. November 8, 2010

3D Computer Graphics. Jared Kirschner. November 8, 2010 3D Computer Graphics Jared Kirschner November 8, 2010 1 Abstract We are surrounded by graphical displays video games, cell phones, television sets, computer-aided design software, interactive touch screens,

More information

1 Affine and Projective Coordinate Notation

1 Affine and Projective Coordinate Notation CS348a: Computer Graphics Handout #9 Geometric Modeling Original Handout #9 Stanford University Tuesday, 3 November 992 Original Lecture #2: 6 October 992 Topics: Coordinates and Transformations Scribe:

More information

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results

More information

UNIT 2 2D TRANSFORMATIONS

UNIT 2 2D TRANSFORMATIONS UNIT 2 2D TRANSFORMATIONS Introduction With the procedures for displaying output primitives and their attributes, we can create variety of pictures and graphs. In many applications, there is also a need

More information

3D Computer Vision II. Reminder Projective Geometry, Transformations

3D Computer Vision II. Reminder Projective Geometry, Transformations 3D Computer Vision II Reminder Projective Geometry, Transformations Nassir Navab" based on a course given at UNC by Marc Pollefeys & the book Multiple View Geometry by Hartley & Zisserman" October 21,

More information

Last week. Machiraju/Zhang/Möller

Last week. Machiraju/Zhang/Möller Last week Machiraju/Zhang/Möller 1 Overview of a graphics system Output device Input devices Image formed and stored in frame buffer Machiraju/Zhang/Möller 2 Introduction to CG Torsten Möller 3 Ray tracing:

More information

Three-Dimensional Viewing Hearn & Baker Chapter 7

Three-Dimensional Viewing Hearn & Baker Chapter 7 Three-Dimensional Viewing Hearn & Baker Chapter 7 Overview 3D viewing involves some tasks that are not present in 2D viewing: Projection, Visibility checks, Lighting effects, etc. Overview First, set up

More information

On-Line Computer Graphics Notes CLIPPING

On-Line Computer Graphics Notes CLIPPING On-Line Computer Graphics Notes CLIPPING Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis 1 Overview The primary use of clipping in

More information

Computer Graphics Viewing

Computer Graphics Viewing Computer Graphics Viewing What Are Projections? Our 3-D scenes are all specified in 3-D world coordinates To display these we need to generate a 2-D image - project objects onto a picture plane Picture

More information

Rational Numbers: Graphing: The Coordinate Plane

Rational Numbers: Graphing: The Coordinate Plane Rational Numbers: Graphing: The Coordinate Plane A special kind of plane used in mathematics is the coordinate plane, sometimes called the Cartesian plane after its inventor, René Descartes. It is one

More information

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016 Lecture 4: Transforms Computer Graphics CMU 15-462/15-662, Fall 2016 Brief recap from last class How to draw a triangle - Why focus on triangles, and not quads, pentagons, etc? - What was specific to triangles

More information

Chapter 5. Projections and Rendering

Chapter 5. Projections and Rendering Chapter 5 Projections and Rendering Topics: Perspective Projections The rendering pipeline In order to view manipulate and view a graphics object we must find ways of storing it a computer-compatible way.

More information

CSE328 Fundamentals of Computer Graphics

CSE328 Fundamentals of Computer Graphics CSE328 Fundamentals of Computer Graphics Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 794--44 Tel: (63)632-845; Fax: (63)632-8334 qin@cs.sunysb.edu

More information

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6 Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points

More information

Camera Model and Calibration

Camera Model and Calibration Camera Model and Calibration Lecture-10 Camera Calibration Determine extrinsic and intrinsic parameters of camera Extrinsic 3D location and orientation of camera Intrinsic Focal length The size of the

More information

Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer

Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer The exam consists of 10 questions. There are 2 points per question for a total of 20 points. You

More information

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482 Rigid Body Motion and Image Formation Jana Kosecka, CS 482 A free vector is defined by a pair of points : Coordinates of the vector : 1 3D Rotation of Points Euler angles Rotation Matrices in 3D 3 by 3

More information

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19 Lecture 17: Recursive Ray Tracing Where is the way where light dwelleth? Job 38:19 1. Raster Graphics Typical graphics terminals today are raster displays. A raster display renders a picture scan line

More information

Chapter 8 Three-Dimensional Viewing Operations

Chapter 8 Three-Dimensional Viewing Operations Projections Chapter 8 Three-Dimensional Viewing Operations Figure 8.1 Classification of planar geometric projections Figure 8.2 Planar projection Figure 8.3 Parallel-oblique projection Figure 8.4 Orthographic

More information

CHAPTER 2 REVIEW COORDINATE GEOMETRY MATH Warm-Up: See Solved Homework questions. 2.2 Cartesian coordinate system

CHAPTER 2 REVIEW COORDINATE GEOMETRY MATH Warm-Up: See Solved Homework questions. 2.2 Cartesian coordinate system CHAPTER 2 REVIEW COORDINATE GEOMETRY MATH6 2.1 Warm-Up: See Solved Homework questions 2.2 Cartesian coordinate system Coordinate axes: Two perpendicular lines that intersect at the origin O on each line.

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin Stony Brook University (SUNY at Stony Brook) Stony Brook, New York 11794-2424 Tel: (631)632-845; Fax: (631)632-8334 qin@cs.stonybrook.edu

More information

CS 428: Fall Introduction to. Raytracing. Andrew Nealen, Rutgers, /18/2009 1

CS 428: Fall Introduction to. Raytracing. Andrew Nealen, Rutgers, /18/2009 1 CS 428: Fall 2009 Introduction to Computer Graphics Raytracing 11/18/2009 1 Forward ray tracing From the light sources Simulate light transport one ray at a time Rays start from lights + bounce around

More information

3-D D Euclidean Space - Vectors

3-D D Euclidean Space - Vectors 3-D D Euclidean Space - Vectors Rigid Body Motion and Image Formation A free vector is defined by a pair of points : Jana Kosecka http://cs.gmu.edu/~kosecka/cs682.html Coordinates of the vector : 3D Rotation

More information

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below:

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below: Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points

More information

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting Ray Casting COMP 175: Computer Graphics April 26, 2018 1/41 Admin } Assignment 4 posted } Picking new partners today for rest of the assignments } Demo in the works } Mac demo may require a new dylib I

More information

Homogeneous Coordinates and Transformations of the Plane

Homogeneous Coordinates and Transformations of the Plane 2 Homogeneous Coordinates and Transformations of the Plane 2. Introduction In Chapter planar objects were manipulated by applying one or more transformations. Section.7 identified the problem that the

More information

2D TRANSFORMATIONS AND MATRICES

2D TRANSFORMATIONS AND MATRICES 2D TRANSFORMATIONS AND MATRICES Representation of Points: 2 x 1 matrix: x y General Problem: B = T A T represents a generic operator to be applied to the points in A. T is the geometric transformation

More information

Practical Linear Algebra: A Geometry Toolbox

Practical Linear Algebra: A Geometry Toolbox Practical Linear Algebra: A Geometry Toolbox Third edition Chapter 1: Affine Maps in 3D Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/pla

More information

Jorg s Graphics Lecture Notes Coordinate Spaces 1

Jorg s Graphics Lecture Notes Coordinate Spaces 1 Jorg s Graphics Lecture Notes Coordinate Spaces Coordinate Spaces Computer Graphics: Objects are rendered in the Euclidean Plane. However, the computational space is better viewed as one of Affine Space

More information

3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller 3D Viewing CMPT 361 Introduction to Computer Graphics Torsten Möller Reading Chapter 4 of Angel Chapter 6 of Foley, van Dam, 2 Objectives What kind of camera we use? (pinhole) What projections make sense

More information

Game Architecture. 2/19/16: Rasterization

Game Architecture. 2/19/16: Rasterization Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world

More information

EECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems

EECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems EECE 478 Linear Algebra and 3D Geometry Learning Objectives Linear algebra in 3D Define scalars, points, vectors, lines, planes Manipulate to test geometric properties Coordinate systems Use homogeneous

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics 3D Viewing and Projection Yong Cao Virginia Tech Objective We will develop methods to camera through scenes. We will develop mathematical tools to handle perspective projection.

More information

Robot Vision: Projective Geometry

Robot Vision: Projective Geometry Robot Vision: Projective Geometry Ass.Prof. Friedrich Fraundorfer SS 2018 1 Learning goals Understand homogeneous coordinates Understand points, line, plane parameters and interpret them geometrically

More information

MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves

MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves David L. Finn Over the next few days, we will be looking at extensions of Bezier

More information

The Graphics Pipeline. Interactive Computer Graphics. The Graphics Pipeline. The Graphics Pipeline. The Graphics Pipeline: Clipping

The Graphics Pipeline. Interactive Computer Graphics. The Graphics Pipeline. The Graphics Pipeline. The Graphics Pipeline: Clipping Interactive Computer Graphics The Graphics Pipeline: The Graphics Pipeline Input: - geometric model - illumination model - camera model - viewport Some slides adopted from F. Durand and B. Cutler, MIT

More information

3D Viewing. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

3D Viewing. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller 3D Viewing Introduction to Computer Graphics Torsten Möller Machiraju/Zhang/Möller Reading Chapter 4 of Angel Chapter 13 of Hughes, van Dam, Chapter 7 of Shirley+Marschner Machiraju/Zhang/Möller 2 Objectives

More information

Lesson 20: Exploiting the Connection to Cartesian Coordinates

Lesson 20: Exploiting the Connection to Cartesian Coordinates : Exploiting the Connection to Cartesian Coordinates Student Outcomes Students interpret complex multiplication as the corresponding function of two real variables. Students calculate the amount of rotation

More information

(a) rotating 45 0 about the origin and then translating in the direction of vector I by 4 units and (b) translating and then rotation.

(a) rotating 45 0 about the origin and then translating in the direction of vector I by 4 units and (b) translating and then rotation. Code No: R05221201 Set No. 1 1. (a) List and explain the applications of Computer Graphics. (b) With a neat cross- sectional view explain the functioning of CRT devices. 2. (a) Write the modified version

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

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today! Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling

More information

CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo)

CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) www.vucybarien.com Question No: 1 What are the two focusing methods in CRT? Explain briefly. Page no : 26 1. Electrostatic focusing

More information

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective Department of Computing and Information Systems The Lecture outline Introduction Rotation about artibrary axis

More information

Last week. Machiraju/Zhang/Möller/Fuhrmann

Last week. Machiraju/Zhang/Möller/Fuhrmann Last week Machiraju/Zhang/Möller/Fuhrmann 1 Geometry basics Scalar, point, and vector Vector space and affine space Basic point and vector operations Sided-ness test Lines, planes, and triangles Linear

More information

Transforms. COMP 575/770 Spring 2013

Transforms. COMP 575/770 Spring 2013 Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms

More information

Representing 2D Transformations as Matrices

Representing 2D Transformations as Matrices Representing 2D Transformations as Matrices John E. Howland Department of Computer Science Trinity University One Trinity Place San Antonio, Texas 78212-7200 Voice: (210) 999-7364 Fax: (210) 999-7477 E-mail:

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages

More information

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

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives

More information

Camera model and multiple view geometry

Camera model and multiple view geometry Chapter Camera model and multiple view geometry Before discussing how D information can be obtained from images it is important to know how images are formed First the camera model is introduced and then

More information

Lecture 4: 3D viewing and projections

Lecture 4: 3D viewing and projections Lecture 4: 3D viewing and projections Today s lecture Rotations around an arbitrary axis (Continuation from the last lecture) The view coordinate system Change of coordinate system (same origin) Change

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

Perspective projection and Transformations

Perspective projection and Transformations Perspective projection and Transformations The pinhole camera The pinhole camera P = (X,,) p = (x,y) O λ = 0 Q λ = O λ = 1 Q λ = P =-1 Q λ X = 0 + λ X 0, 0 + λ 0, 0 + λ 0 = (λx, λ, λ) The pinhole camera

More information

Figure 1. Lecture 1: Three Dimensional graphics: Projections and Transformations

Figure 1. Lecture 1: Three Dimensional graphics: Projections and Transformations Lecture 1: Three Dimensional graphics: Projections and Transformations Device Independence We will start with a brief discussion of two dimensional drawing primitives. At the lowest level of an operating

More information

Multiple View Geometry in Computer Vision

Multiple View Geometry in Computer Vision Multiple View Geometry in Computer Vision Prasanna Sahoo Department of Mathematics University of Louisville 1 Projective 3D Geometry (Back to Chapter 2) Lecture 6 2 Singular Value Decomposition Given a

More information

Computer Vision I - Appearance-based Matching and Projective Geometry

Computer Vision I - Appearance-based Matching and Projective Geometry Computer Vision I - Appearance-based Matching and Projective Geometry Carsten Rother 05/11/2015 Computer Vision I: Image Formation Process Roadmap for next four lectures Computer Vision I: Image Formation

More information

Perspective Shadow Maps. Shadow Map Aliasing. in particular for large scenes shadow maps impossible for infinite scenes

Perspective Shadow Maps. Shadow Map Aliasing. in particular for large scenes shadow maps impossible for infinite scenes Perspective Shadow Maps Marc Stamminger, University of Erlangen-Nuremberg Shadow Map Aliasing in particular for large scenes shadow maps impossible for infinite scenes 1 Shadow Map Aliasing perspective

More information

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading) Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline - part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This

More information

C O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52

C O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52 Computer Graphics Three-Dimensional Graphics I Guoying Zhao 1 / 52 Geometry Guoying Zhao 2 / 52 Objectives Introduce the elements of geometry Scalars Vectors Points Develop mathematical operations among

More information

Today s Agenda. Geometry

Today s Agenda. Geometry Today s Agenda Geometry Geometry Three basic elements Points Scalars Vectors Three type of spaces (Linear) vector space: scalars and vectors Affine space: vector space + points Euclidean space: vector

More information

Hidden-Surface Removal.

Hidden-Surface Removal. Hidden-Surface emoval. Here we need to discover whether an object is visible or another one obscures it. here are two fundamental approaches to remove the hidden surfaces: ) he object-space approach )

More information

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important? Last Time? Real-Time Shadows The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Questions? Quiz 2: Thursday November 2 th, in class (two weeks from

More information

Supplement to Lecture 16

Supplement to Lecture 16 Supplement to Lecture 16 Global Illumination: View Dependent CS 354 Computer Graphics http://www.cs.utexas.edu/~bajaj/ Notes and figures from Ed Angel: Interactive Computer Graphics, 6 th Ed., 2012 Addison

More information

Lines and Planes in 3D

Lines and Planes in 3D Lines and Planes in 3D Philippe B. Laval KSU January 28, 2013 Philippe B. Laval (KSU) Lines and Planes in 3D January 28, 2013 1 / 20 Introduction Recall that given a point P = (a, b, c), one can draw a

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

Introduction to Homogeneous coordinates

Introduction to Homogeneous coordinates Last class we considered smooth translations and rotations of the camera coordinate system and the resulting motions of points in the image projection plane. These two transformations were expressed mathematically

More information

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections Overview Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections ITCS 4120/5120 1 Mathematical Fundamentals Geometric Transformations A set of tools that aid

More information

Ray Tracer I: Ray Casting Due date: 12:00pm December 3, 2001

Ray Tracer I: Ray Casting Due date: 12:00pm December 3, 2001 Computer graphics Assignment 5 1 Overview Ray Tracer I: Ray Casting Due date: 12:00pm December 3, 2001 In this assignment you will implement the camera and several primitive objects for a ray tracer. We

More information

Today. Parity. General Polygons? Non-Zero Winding Rule. Winding Numbers. CS559 Lecture 11 Polygons, Transformations

Today. Parity. General Polygons? Non-Zero Winding Rule. Winding Numbers. CS559 Lecture 11 Polygons, Transformations CS559 Lecture Polygons, Transformations These are course notes (not used as slides) Written by Mike Gleicher, Oct. 005 With some slides adapted from the notes of Stephen Chenney Final version (after class)

More information

CITSTUDENTS.IN VIEWING. Computer Graphics and Visualization. Classical and computer viewing. Viewing with a computer. Positioning of the camera

CITSTUDENTS.IN VIEWING. Computer Graphics and Visualization. Classical and computer viewing. Viewing with a computer. Positioning of the camera UNIT - 6 7 hrs VIEWING Classical and computer viewing Viewing with a computer Positioning of the camera Simple projections Projections in OpenGL Hiddensurface removal Interactive mesh displays Parallelprojection

More information

CS452/552; EE465/505. Geometry Transformations

CS452/552; EE465/505. Geometry Transformations CS452/552; EE465/505 Geometry Transformations 1-26-15 Outline! Geometry: scalars, points & vectors! Transformations Read: Angel, Chapter 4 (study cube.html/cube.js example) Appendix B: Spaces (vector,

More information

1 Projective Geometry

1 Projective Geometry CIS8, Machine Perception Review Problem - SPRING 26 Instructions. All coordinate systems are right handed. Projective Geometry Figure : Facade rectification. I took an image of a rectangular object, and

More information

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

More information

From Vertices To Fragments-1

From Vertices To Fragments-1 From Vertices To Fragments-1 1 Objectives Clipping Line-segment clipping polygon clipping 2 Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives

More information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometry and Camera Calibration 3D Coordinate Systems Right-handed vs. left-handed x x y z z y 2D Coordinate Systems 3D Geometry Basics y axis up vs. y axis down Origin at center vs. corner Will often

More information

Revision Problems for Examination 2 in Algebra 1

Revision Problems for Examination 2 in Algebra 1 Centre for Mathematical Sciences Mathematics, Faculty of Science Revision Problems for Examination in Algebra. Let l be the line that passes through the point (5, 4, 4) and is at right angles to the plane

More information

Answers to practice questions for Midterm 1

Answers to practice questions for Midterm 1 Answers to practice questions for Midterm Paul Hacking /5/9 (a The RREF (reduced row echelon form of the augmented matrix is So the system of linear equations has exactly one solution given by x =, y =,

More information

Viewing. Reading: Angel Ch.5

Viewing. Reading: Angel Ch.5 Viewing Reading: Angel Ch.5 What is Viewing? Viewing transform projects the 3D model to a 2D image plane 3D Objects (world frame) Model-view (camera frame) View transform (projection frame) 2D image View

More information

MATHEMATICS 105 Plane Trigonometry

MATHEMATICS 105 Plane Trigonometry Chapter I THE TRIGONOMETRIC FUNCTIONS MATHEMATICS 105 Plane Trigonometry INTRODUCTION The word trigonometry literally means triangle measurement. It is concerned with the measurement of the parts, sides,

More information

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler Real-Time Shadows Last Time? The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Quiz 2: Thursday November 20 th, in class (two weeks from Thursday)

More information

EXAMINATIONS 2017 TRIMESTER 2

EXAMINATIONS 2017 TRIMESTER 2 EXAMINATIONS 2017 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators

More information

Lecture 4. Viewing, Projection and Viewport Transformations

Lecture 4. Viewing, Projection and Viewport Transformations Notes on Assignment Notes on Assignment Hw2 is dependent on hw1 so hw1 and hw2 will be graded together i.e. You have time to finish both by next monday 11:59p Email list issues - please cc: elif@cs.nyu.edu

More information

1.5 Equations of Lines and Planes in 3-D

1.5 Equations of Lines and Planes in 3-D 1.5. EQUATIONS OF LINES AND PLANES IN 3-D 55 Figure 1.16: Line through P 0 parallel to v 1.5 Equations of Lines and Planes in 3-D Recall that given a point P = (a, b, c), one can draw a vector from the

More information