CSCI-4972/6963 Advanced Computer Graphics

Similar documents
CSCI-4530/6530 Advanced Computer Graphics

CSCI-4530/6530 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?

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

The 3-D Graphics Rendering Pipeline

Introduction to Seismology Spring 2008

Modeling Transformations

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

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

Viewing/Projection IV. Week 4, Fri Jan 29

An Effective Hardware Architecture for Bump Mapping Using Angular Operation

Recall: Function Calls to Create Transform Matrices

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

Viewing/Projections III. Week 4, Wed Jan 31

Projections. Let us start with projections in 2D, because there are easier to visualize.

p[4] p[3] p[2] p[1] p[0]

Orientation of the coordinate system

What and Why Transformations?

Modeling Transformations Revisited

3-Dimensional Viewing

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

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

Modeling Transformations

Notes. University of British Columbia

A radiometric analysis of projected sinusoidal illumination for opaque surfaces

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University

CS559: Computer Graphics

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

Coordinate Transformations & Homogeneous Coordinates

Machine Vision. Laboratory Exercise Name: Student ID: S

Image Warping CSE399b, Spring 07 Computer Vision

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

6. Modelview Transformations

NOISE REMOVAL FOR OBJECT TRACKING BASED ON HSV COLOR SPACE PARAMETER USING CAMSHIFT

Image Warping. Some slides from Steve Seitz

Homogeneous Coordinates

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

Transformations II. Week 2, Wed Jan 17

特集 Road Border Recognition Using FIR Images and LIDAR Signal Processing

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

Warping, Morphing and Mosaics

Image Warping. Some slides from Steve Seitz

Prof. Feng Liu. Winter /05/2019

Simultaneous image orientation in GRASS

Scene Graphs & Modeling Transformations COS 426

Two Dimensional Viewing

4. Two Dimensional Transformations

What does OpenGL do?

We P9 16 Eigenray Tracing in 3D Heterogeneous Media

To Do. Assignment Overview. Outline. Mesh Viewer (3.1) Mesh Connectivity (3.2) Advanced Computer Graphics (Spring 2013)

Transformations III. Week 2, Fri Jan 19

Image warping/morphing

3D Geometry and Camera Calibration

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

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

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

5.8.3 Oblique Projections

Transformations. Examples of transformations: shear. scaling

The Mathematics of Simple Ultrasonic 2-Dimensional Sensing

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

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

Rotation Invariant Spherical Harmonic Representation of 3D Shape Descriptors

News. Projections and Picking. Transforming View Volumes. Projections recap. Basic Perspective Projection. Basic Perspective Projection

CS770/870 Spring 2017 Transformations

High Dimensional Rendering in OpenGL

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

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

CS F-07 Objects in 2D 1

Pre-Critical incidence

Lecture 02 Image Formation

FUZZY WATERSHED FOR IMAGE SEGMENTATION

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

MATH STUDENT BOOK. 12th Grade Unit 6

CS Computer Graphics: Transformations & The Synthetic Camera

Special Relativistic (Flight-)Simulator

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

Data we are discussing in the class. Scalar/vector/tensor. Heterogeneous. Scientific data. 3D+time (n<4) Information data

Computer Graphics. Transformation

timestamp, if silhouette(x, y) 0 0 if silhouette(x, y) = 0, mhi(x, y) = and mhi(x, y) < timestamp - duration mhi(x, y), else

Viewing and Projection

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship?

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT?

CS4670: Computer Vision

Cell Projection of Convex Polyhedra

Rapid, accurate particle tracking by calculation of radial symmetry centers

GPU-Accelerated Iterated Function Systems. Simon Green, NVIDIA Corporation

AUTOMATIC TRACKING OF MOVING OBJECT WITH EYE-IN- HAND ROBOT MANIPULATOR

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

Computer Graphics. Geometric Transformations

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Image Warping (Szeliski Sec 2.1.2)

Computer Graphics. Geometric Transformations

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

Chromaticity-matched Superimposition of Foreground Objects in Different Environments

A Unified Subdivision Scheme for Polygonal Modeling

Trajectory Tracking Control for A Wheeled Mobile Robot Using Fuzzy Logic Controller

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Modeling Transformations

Transcription:

Luo Jr. CSCI-497/696 Advaned Computer Graphis http://www.s.rpi.edu/~utler/lasses/advanedgraphis/s8/ Professor Barb Cutler utler@s.rpi.edu MRC 9A Piar Animation Studios, 986 Topis for the Semester Mesh Simplifiation Meshes representation simplifiation subdivision surfaes generation volumetri modeling Simulation partile sstems rigid bod, deformation, loth, wind/water flows ollision detetion weathering Rendering ra traing appearane models shadows loal vs. global illumination radiosit, photon mapping, subsurfae sattering, et. proedural modeling teture snthesis hardware & more Hoppe Progressive Meshes SIGGRAPH 996 4 Mesh Generation & Volumetri Modeling Modeling Subdivision Surfaes Hoppe et al., Pieewise Smooth Surfae Reonstrution 994 Cutler et al., Simplifiation and Improvement of Geri s Game Piar 997 Tetrahedral Models for Simulation 4 5 6

Partile Sstems Phsial Simulation Rigid Bod Dnamis f ( t ) Collision Detetion Frature b Deformation p ( t ( ) ) t f ( t ) p b ( t ) v ( t ) p b ( t ) Müller et al., Stable Real-Time Deformations Star Trek: The Wrath of Khan 98 7 8 f ( t ) Fluid Dnamis Ra Casting For ever piel onstrut a ra from the ee For ever objet in the sene Find intersetion with the ra Keep the losest Foster & Mataas, 996 Visual Simulation of Smoke Fedkiw, Stam & Jensen SIGGRAPH 9 Ra Traing Subsurfae Sattering Shade (interation of light and material) Seondar ras (shadows, refletion, refration) An Improved Illumination Model for Shaded Displa Whitted 98 Jensen et al., A Pratial Model for Subsurfae Light Transport Surfae

Appearane Models Sllabus & Course Website http://www.s.rpi.edu/~utler/lasses/advanedgraphis/s8/ θ r θ i Wojieh Matusik Whih version should I register for? CSCI 696 units of graduate redit CSCI 497 4 units of undergraduate redit same letures, assignments, quies, & grading riteria φ i φ r Other Questions? Henrik Wann Jensen 4 Introdutions Who are ou? name ear/degree graphis bakground (if an) researh/job interests wh ou are taking this lass something fun, interesting, or unusual about ourself Outline Orthographi & Perspetive Projetions Eample: Iterated Funtion Sstems (IFS) 5 6 What is a Transformation? Simple Transformations Maps points (, ) in one oordinate sstem to points (', ') in another oordinate sstem ' a + b + ' d + e + f For eample, Iterated Funtion Sstem (IFS): Can be ombined Are these operations invertible? Yes, eept sale 7 8

Transformations are used to: Position objets in a sene Change the shape of objets Create multiple opies of objets Projetion for virtual ameras Desribe animations Rigid-Bod / Eulidean Transforms Preserves distanes Preserves angles Rigid / Eulidean Identit 9 Similitudes / Similarit Transforms Linear Transformations Preserves angles Similitudes Rigid / Eulidean Similitudes Rigid / Eulidean Linear Identit Isotropi Saling Identit Isotropi Saling Saling Refletion Shear Linear Transformations Affine Transformations L(p + q) L(p) + L(q) L(ap) a L(p) preserves parallel lines Affine Similitudes Rigid / Eulidean Linear Similitudes Rigid / Eulidean Linear Identit Isotropi Saling Saling Refletion Shear Identit Isotropi Saling Saling Refletion Shear 4 4

Projetive Transformations preserves lines Projetive Affine Similitudes Linear Rigid / Eulidean Saling Identit Isotropi Saling Refletion Shear General (Free-Form) Transformation Does not preserve lines Not as pervasive, omputationall more involved Perspetive 5 Sederberg and Parr, Siggraph 986 6 Outline Orthographi & Perspetive Projetions Eample: Iterated Funtion Sstems (IFS) How are Transforms Represented? ' ' ' a + b + ' d + e + f a b d e + f p' M p + t 7 8 Homogeneous Coordinates Add an etra dimension in D, we use matries In D, we use 4 4 matries Eah point has an etra value, w ' ' ' w' p' a e i m b f j n g k o M p d h l p w 9 in homogeneous oordinates ' ' Affine formulation a b d e ' a + b + ' d + e + f + f p' M p + t Homogeneous formulation ' ' p' a b d e f M p 5

Homogeneous Coordinates Most of the time w, and we an ignore it ' ' ' a e i b f j g k d h l Homogeneous Visualiation Divide b w to normalie (homogenie) W? Point at infinit (diretion) If we multipl a homogeneous oordinate b an affine matri, w is unhanged (,, ) (,, ) (7,, ) (4,, ) (4, 5, ) (8,, ) w w Translate (t, t, t) Translate(,,) Sale (s, s, s) Sale(s,s,s) p' Wh bother with the etra dimension? Beause now translations an be enoded in the matri! p p' Isotropi (uniform) saling: s s s p q q' ' ' ' t t t ' ' ' s s s 4 About ais ZRotate(θ) p' θ p About (k, k, k), a unit vetor on an arbitrar ais (Rodrigues Formula) Rotate(k, θ) θ k ' ' ' os θ sin θ -sin θ os θ ' ' ' kk(-)+ kk(-)+ks kk(-)-ks kk(-)-ks kk(-)+ kk(-)-ks kk(-)+ks kk(-)-ks kk(-)+ where os θ & s sin θ 5 6 6

Storage Often, w is not stored (alwas ) Needs areful handling of diretion vs. point Mathematiall, the simplest is to enode diretions with w In terms of storage, using a -omponent arra for both diretion and points is more effiient Whih requires to have speial operation routines for points vs. diretions Outline Orthographi & Perspetive Projetions Eample: Iterated Funtion Sstems (IFS) 7 8 How are transforms ombined? Sale then Translate Non-ommutative Composition Sale then Translate: p' T ( S p ) TS p (,) (,) Sale(,) (,) (,) Translate(,) (,) (5,) (,) (,) Sale(,) (,) (,) Translate(,) (,) (5,) Use matri multipliation: p' T ( S p ) TS p TS Caution: matri multipliation is NOT ommutative! 9 Translate then Sale: p' S ( T p ) ST p Translate(,) (4,) Sale(,) (,) (6,) (,) (,) (8,4) 4 Non-ommutative Composition Sale then Translate: p' T ( S p ) TS p TS Translate then Sale: p' S ( T p ) ST p ST 6 Outline Orthographi & Perspetive Projetions Eample: Iterated Funtion Sstems (IFS) 4 4 7

Orthographi vs. Perspetive Orthographi Simple Orthographi Projetion Projet all points along the ais to the plane Perspetive 4 44 Simple Perspetive Projetion Projet all points along the ais to the d plane, eepoint at the origin: Alternate Perspetive Projetion Projet all points along the ais to the plane, eepoint at the (,,-d): homogenie homogenie * d / * d / d / d /d 45 * d / ( + d) * d / ( + d) ( + d)/ d /d 46 In the limit, as d Outline this perspetive projetion matri... /d...is simpl an orthographi projetion Orthographi & Perspetive Projetions Eample: Iterated Funtion Sstems (IFS) 47 48 8

Iterated Funtion Sstems (IFS) Capture self-similarit Contration (redue distanes) An attrator is a fied point A U fi (A) Eample: Sierpinski Triangle Desribed b a set of n affine transformations In this ase, n translate & sale b.5 49 5 Eample: Sierpinski Triangle Another IFS: The Dragon for lots of random input points (, ) for j to num_iters randoml pik one of the transformations ( k+, k+ ) f i ( k, k ) displa ( k, k ) Inreasing the number of iterations 5 5 D IFS in OpenGL GL_POINTS GL_QUADS Assignment : OpenGL Warmup Get familiar with: C++ environment OpenGL Transformations simple Vetor & Matri lasses Have Fun! 5 Will not be graded (but ou should still do it and submit it!) 54 9

Outline Orthographi & Perspetive Projetions Eample: Iterated Funtion Sstems (IFS) OpenGL Basis: GL_POINTS gldisable(gl_lighting); glbegin(gl_points); glcolorf(.,.,.); glvertef( ); glend(); lighting should be disabled... 55 56 OpenGL Basis: GL_QUADS glenable(gl_lighting); glbegin(gl_quads); glnormalf( ); glcolorf(.,.,.); glvertef( ); glvertef( ); glvertef( ); glvertef( ); glend(); lighting should be enabled... an appropriate normal should be speified OpenGL Basis: Transformations Useful ommands: glmatrimode(gl_modelview); glpushmatri(); glpopmatri(); glmultmatrif( ); From OpenGL Referene Manual 57 58 Questions? For Net Time: Read Hugues Hoppe Progressive Meshes SIGGRAPH 996 Post a omment or question on the ourse WebCT/LMS disussion b am on Frida /5 Image b Henrik Wann Jensen 59 6