CSCI-4530/6530 Advanced Computer Graphics

Similar documents
CSCI-4530/6530 Advanced Computer Graphics

CSCI-4972/6963 Advanced Computer Graphics

CSCI-6962 Advanced Computer Graphics

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

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

Modeling Transformations

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

Coordinate Transformations & Homogeneous Coordinates

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

Modeling Transformations

CS559: Computer Graphics

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

Luxo Jr. Plan. Team. Movies. Why Computer Graphics? Introduction to Computer Graphics. Pixar Animation Studios, 1986 Director: John Lasseter

Lahore University of Management Sciences. CS 452 Computer Graphics

The 3-D Graphics Rendering Pipeline

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

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

3-Dimensional Viewing

Two Dimensional Viewing

Warping, Morphing and Mosaics

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

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Lahore University of Management Sciences. CS 452 Computer Graphics

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

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

4. Two Dimensional Transformations

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

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

Modeling Transformations Revisited

Viewing/Projection IV. Week 4, Fri Jan 29

Ray Tracing. Quiz Discussion. Announcements: Final Projects. Last Time? Durer s Ray Casting Machine. Today

Viewing/Projections III. Week 4, Wed Jan 31

What and Why Transformations?

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

Prof. Feng Liu. Winter /05/2019

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Fitting a transformation: Feature-based alignment April 30 th, Yong Jae Lee UC Davis

More on Transformations. COS 426, Spring 2019 Princeton University

Scene Graphs & Modeling Transformations COS 426

Viewing and Projection

Ray Tracing. Announcements: Quiz. Last Time? Today. Durer s Ray Casting Machine. Ray Casting

Image Warping CSE399b, Spring 07 Computer Vision

Transformations II. Week 2, Wed Jan 17

Image Warping. Some slides from Steve Seitz

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Homogeneous Coordinates

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

Image Warping. Some slides from Steve Seitz

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

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

Transformations. Examples of transformations: shear. scaling

CS F-07 Objects in 2D 1

Announcements. Equation of Perspective Projection. Image Formation and Cameras

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

Image warping/morphing

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations

What does OpenGL do?

3D Geometry and Camera Calibration

CS Computer Graphics: Transformations & The Synthetic Camera

Transforms. COMP 575/770 Spring 2013

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

Announcements. The equation of projection. Image Formation and Cameras

Lecture 4: Viewing. Topics:

2D Transformations. 7 February 2017 Week 5-2D Transformations 1

To Do. Computer Graphics (Fall 2004) Course Outline. Course Outline. Motivation. Motivation

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

Transformations in Ray Tracing. MIT EECS 6.837, Durand and Cutler

CS4670: Computer Vision

Last Lecture. Edge Detection. Filtering Pyramid

How is project #1 going?

Ray Tracing. Last Time? Today. Ray Casting. Durer s Ray Casting Machine. Reading for Today

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

CS770/870 Spring 2017 Transformations

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

3D Coordinates & Transformations

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

Editing and Transformation

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

Geometric Model of Camera

Image formation - About the course. Grading & Project. Tentative Schedule. Course Content. Students introduction

Transformations III. Week 2, Fri Jan 19

Geometric Transformations

Modeling Transformations

High Dimensional Rendering in OpenGL

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

Image Warping (Szeliski Sec 2.1.2)

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

Review. Stephen J. Guy

Digital 3D Animation

Specifying Complex Scenes

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

3D Sensing. Translation and Scaling in 3D. Rotation about Arbitrary Axis. Rotation in 3D is about an axis

Modeling Transformations

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

5.8.3 Oblique Projections

3D GRAPHICS. design. animate. render

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

CS 335 Graphics and Multimedia. Geometric Warping

Transcription:

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 representation simplification subdivision surfaces construction/generation volumetric modeling particle sstems, cloth rigid bod, deformation wind/water flows collision detection weathering Mesh Simplification Rendering Simulation 2 ra tracing, shadows appearance models local vs. global illumination radiosit, photon mapping, subsurface scattering, etc. procedural modeling teture snthesis non-photorealistic rendering hardware & more Hoppe Progressive Meshes SIGGRAPH 996 3 4

Modeling Subdivision Surfaces Mesh Generation & Volumetric Modeling Hoppe et al., Piecewise Smooth Surface Reconstruction 994 Cutler et al., Simplification and Improvement of Tetrahedral Models for Simulation 24 Geri s Game Piar 997 6 5 Particle Sstems Phsical Simulation Star Trek: The Wrath of Khan 982 7 Rigid Bod Dnamics Collision Detection Fracture Deformation Müller et al., Stable Real-Time Deformations 22 8

Fluid Dnamics Ra Casting/Tracing For ever piel construct a ra from the ee For ever object in the scene Find intersection with the ra Keep the closest Foster & Mataas, 996 Visual Simulation of Smoke Fedkiw, Stam & Jensen SIGGRAPH 2 9 Appearance Models Shade (interaction of light and material) Secondar ras (shadows, reflection, refraction) An Improved Illumination Model for Shaded Displa Whitted 98 Subsurface Scattering Wojciech Matusik θr Jensen et al., A Practical Model for Subsurface Light Transport 2 θi φi φ Surface r Henrik Wann Jensen 2

Sllabus & Course Website Grades http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s7/ http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s7/ Which version should I register for? This course counts as communications intensive for undergraduates. As such, ou must satisfactoril complete all readings, presentations, project reports to pass the course. As this is an elective (not required) course, I epect to grade this course: A, A-, B+, B, B-, or F Don t epect C or D level work to pass I don t want to give an F s CSCI 653 : 3 units of graduate credit CSCI 453 : 4 units of undergraduate credit (same lectures, assignments, quies, & grading criteria) This is an intensive course aimed at graduate students and undergraduates interested in graphics research, involving significant reading & programming each week. Taking this course in a 5 course overload semester is discouraged. 3 Participation/Laptops in Class Polic http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/s7/ Lecture is intended to be discussion-intensive Laptops, tablet computers, smart phones, and other internet-connected devices are not allowed Ecept during the discussion of the da's assigned paper: students ma use their laptop/tablet to view an electronic version of the paper Other eceptions to this polic are negotiable; please see the instructor in office hours 5 4 Questions?

Outline What is a Transformation? Maps points (, ) in one coordinate sstem to points (', ') in another coordinate sstem Course Overview Classes of Transformations Representing Transformations Combining Transformations Orthographic & Perspective Projections Eample: Iterated Function Sstems (IFS) ' a + b + c ' d + e + f For eample, Iterated Function Sstem (IFS): 7 8 Simple Transformations Transformations are used to: Can be combined Are these operations invertible? Position objects in a scene Change the shape of objects Create multiple copies of objects Projection for virtual cameras Describe animations Yes, ecept scale 9 2

Rigid-Bod / Euclidean Transforms Similitudes / Similarit Transforms Preserves distances Preserves angles Preserves angles Similitudes Rigid / Euclidean Rigid / Euclidean Identit Identit Translation Translation Rotation Isotropic Scaling Rotation 2 Linear Transformations 22 Affine Transformations preserves parallel lines Affine Similitudes Similitudes Linear Linear Rigid / Euclidean Rigid / Euclidean Scaling Scaling Identit Translation Identit Isotropic Scaling Reflection Translation Rotation L(p + q) L(p) + L(q) Isotropic Scaling Reflection Rotation Shear Shear L(ap) a L(p) 23 24

Projective Transformations General (Free-Form) Transformation preserves lines Does not preserve lines Not as pervasive, computationall more involved Projective Affine Similitudes Linear Rigid / Euclidean Scaling Identit Translation Isotropic Scaling Reflection Rotation Shear Perspective 25 Outline Sederberg and Parr, Siggraph 986 26 How are Transforms Represented? Course Overview Classes of Transformations Representing Transformations Combining Transformations Orthographic & Perspective Projections Eample: Iterated Function Sstems (IFS) ' a + b + c ' d + e + f ' ' p' 27 a d b e c + f Mp + t 28

Homogeneous Coordinates Translation in homogeneous coordinates ' a + b + c ' d + e + f Add an etra dimension in 2D, we use 3 3 matrices In 3D, we use 4 4 matrices Affine formulation Each point has an etra value, w a b ' e f ' i j ' m n w' c d g h k l o p p' Mp w ' ' p' d h l c + f Mp + t ' ' p' a b c d e f Mp 3 Homogeneous Visualiation Most of the time w, and we can ignore it a b c e f g i j k b e 29 Homogeneous Coordinates ' ' ' a d Homogeneous formulation Divide b w to normalie (homogenie) W? Point at infinit (direction) If we multipl a homogeneous coordinate b an affine matri, w is unchanged (,, ) (,, 2) w (7,, ) (4, 2, 2) (4, 5, ) (8,, 2) 3 w2 32

Translate (t, t, t) Wh bother with the etra dimension? Because now translations can be encoded in the matri! ' ' ' Scale (s, s, s) Translate(c,,) p q' q c t t t p' Isotropic (uniform) scaling: s s s p' p Scale(s,s,s) ' ' ' s s s 33 Rotation 34 Rotation ZRotate(θ) Rotate(k, θ) p' About (k, k, k), a unit vector on an arbitrar ais (Rodrigues Formula) About ais θ p ' ' ' cos θ -sin θ sin θ cos θ θ k kk(-c)+c kk(-c)-ks kk(-c)+ks ' kk(-c)+ks kk(-c)+c kk(-c)-ks ' kk(-c)-ks kk(-c)-ks kk(-c)+c ' where c cos θ & s sin θ 35 36

Storage Outline Often, w is not stored (alwas ) Needs careful handling of direction vs. point Mathematicall, the simplest is to encode directions with w In terms of storage, using a 3-component arra for both direction and points is more efficient Which requires to have special operation routines for points vs. directions Course Overview Classes of Transformations Representing Transformations Combining Transformations Orthographic & Perspective Projections Eample: Iterated Function Sstems (IFS) 37 How are transforms combined? Non-commutative Composition Scale then Translate (,) Scale then Translate: p' T ( S p ) TS p (2,2) Scale(2,2) (5,3) Translate(3,) (,) (3,) (,) (,) 38 (2,2) Scale(2,2) (5,3) Translate(3,) (3,) (,) (,) Use matri multiplication: p' T ( S p ) TS p TS 3 2 2 Translate then Scale: p' S ( T p ) ST p 2 3 2 (8,4) (,) (4,2) Translate(3,) (3,) Scale(2,2) (6,2) (,) Caution: matri multiplication is NOT commutative! 39 4

Non-commutative Composition Eercise! Scale then Translate: p' T ( S p ) TS p TS 3 2 2 Form teams of 2. Use piece of paper. Put both names on the top. Work together. Both people should write. Hand in to TA Jerame Tler after we discuss. Write down the 33 matri that transforms this set of 4 points: A: (,) B: (,) C: (,) D: (,) 2 3 2 to these new positions: A : (-, ) B : (-, ) C : (, ) D : (, ) Translate then Scale: p' S ( T p ) ST p ST 2 2 3 Show our work. 2 6 2 2 If ou finish earl Solve the problem using a different technique. 4 Outline Orthographic vs. Perspective Orthographic Course Overview Classes of Transformations Representing Transformations Combining Transformations Orthographic & Perspective Projections Eample: Iterated Function Sstems (IFS) Perspective 43 44

Simple Orthographic Projection Simple Perspective Projection Project all points along the ais to the plane Project all points along the ais to the d plane, eepoint at the origin: B similar triangles: / d/ (*d)/ 45 Project all points along the ais to the plane, eepoint at the (,,-d): (,, ) /d *d/ *d/ d /d this perspective projection matri... homogenie * d / ( + d) * d / ( + d) ( + d)/ d /d 46 In the limit, as d Alternate Perspective Projection B similar triangles: / d/(+d) (*d)/(+d) (,, ) homogenie 47 /d...is simpl an orthographic projection 48

Outline Iterated Function Sstems (IFS) Capture self-similarit Contraction (reduce distances) An attractor is a fied point Course Overview Classes of Transformations Representing Transformations Combining Transformations Orthographic & Perspective Projections Eample: Iterated Function Sstems (IFS) 49 Eample: Sierpinski Triangle 5 Eample: Sierpinski Triangle for lots of random input points (, ) for j to num_iters randoml pick one of the transformations (k+, k+) fi (k, k) displa (k, k) Described b a set of n affine transformations In this case, n 3 translate & scale b.5 Increasing the number of iterations 5 52

Another IFS: The Dragon 3D IFS in OpenGL 53 Assignment : OpenGL Warmup 54 Questions? Get familiar with: C++ environment OpenGL Transformations simple Vector & Matri classes Have Fun! Due ASAP (start it toda!) ¼ of the points of the other HWs (but ou should still do it and submit it!) Image b Henrik Wann Jensen 55 56

For Net Time: Volunteer to be Discussant? Questions to think about: Note: This is not a presentation. Be sure to read blurb (& linked webpage) on course webpage about Assigned Readings & Discussants. How do we represent meshes? How to automaticall decide what parts of the mesh are important / worth preserving? Algorithm performance: memor, speed? What were the original target applications? Are those applications still valid? Are there other modern applications that can leverage this technique? Read Hugues Hoppe Progressive Meshes SIGGRAPH 996 Post a comment or question on the course WebCT/LMS discussion b am on Frida 57 58