SlideShare a Scribd company logo
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Perspective projection (outline)
1 The graphics pipeline: part I
2 Windowing transforms
3 Perspective transform
4 Camera transformation
5 Wrap-up
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Projecting from arbitrary camera positions
Camera transformation
Orthographic projection and the canonical view volume
Windowing transform
The graphics pipeline: part I
Given an arbitrary camera
position, we want to display
the objects in the model in an
image
The projection should be
perspective projection.
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Projecting from arbitrary camera positions
Camera transformation
Orthographic projection and the canonical view volume
Windowing transform
Camera transformation
We simplify by moving the
camera viewpoint to the
origin, such that we look into
the direction of the negative
z-axis.
−Z
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Projecting from arbitrary camera positions
Camera transformation
Orthographic projection and the canonical view volume
Windowing transform
Orthographic projection
Orthographic projection is a
lot simpler than perspective
projection, so we transform the
clipped view frustum to an
axis-parallel box
−Z
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Projecting from arbitrary camera positions
Camera transformation
Orthographic projection and the canonical view volume
Windowing transform
The canonical view volume
To simplify our calculations,
we transform to the canonical
view volume
(−1, −1)
(1, 1)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Projecting from arbitrary camera positions
Camera transformation
Orthographic projection and the canonical view volume
Windowing transform
Windowing transform
We apply a windowing
transform to display the square
[−1, 1] × [−1, 1] onto an
m × n image.
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Projecting from arbitrary camera positions
Camera transformation
Orthographic projection and the canonical view volume
Windowing transform
The graphics pipeline: part I
Every step in the sequence can
be represented by a matrix
operation, so the whole process
can be applied by performing a
single matrix operation!
(Well: almost.)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
The canonical view volume
The orthographic view volume
The orthographic projection matrix
The canonical view volume
The canonical view volume is a
2 × 2 × 2 box, centered at the
origin.
The clipped view frustum is
transformed to this box (and
the objects within the view
frustum undergo the same
transformation).
Vertices in the canonical view
volume are orthographically
projected onto an m × n
image.
−z
x
y
(−1, −1, 1)
(1, 1, −1)
(1, −1, −1)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
The canonical view volume
The orthographic view volume
The orthographic projection matrix
Mapping the canonical view volume
We need to map the square
[−1, 1]2 onto a rectangle
[−1
2, m − 1
2] × [−1
2, n − 1
2].
The following matrix takes
care of that:


m
2 0 m
2 − 1
2
0 n
2
n
2 − 1
2
0 0 1


(−1, −1)
(1, 1)
m
n
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
The canonical view volume
The orthographic view volume
The orthographic projection matrix
The orthographic view volume
The orthographic view volume
is an axis-aligned box
[l, r] × [b, t] × [n, f].
Transforming it to the
canonical view volume is done
by




2
r−l 0 0 0
0 2
t−b 0 0
0 0 2
n−f 0
0 0 0 1








1 0 0 −l+r
2
0 1 0 −b+t
2
0 0 1 −n+f
2
0 0 0 1




−z
x
y
(−1, −1, 1)
(1, 1, −1)
(1, −1, −1)
(l, b, n)
(r, t, f)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
The canonical view volume
The orthographic view volume
The orthographic projection matrix
The orthographic projection matrix
We can combine the matrices into one:
Mo =



m
2 0 0 m
2 − 1
2
0 n
2 0 n
2 − 1
2
0 0 1 0
0 0 0 1








2
r−l 0 0 0
0 2
t−b 0 0
0 0 2
n−f 0
0 0 0 1








1 0 0 −l+r
2
0 1 0 −b+t
2
0 0 1 −n+f
2
0 0 0 1




Given a point p in the orthographic view volume, we map it to a
pixel [i, j] as follows:




i
j
zcanonical
1



 = Mo




xp
yp
zp
1




Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Transforming the view frustum
Perspective transform matrix
Homogeneous coordinates
Transforming the view frustum
We have to transform the view
frustum into the orthographic view
volume. The transformation needs to
Map lines through the origin to
lines parallel to the z axis
Map points on the viewing
plane to themselves.
Map points on the far plane to
(other) points on the far plane.
Preserve the near-to-far order of
points on a line.
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Transforming the view frustum
Perspective transform matrix
Homogeneous coordinates
Transforming the view frustum
(cf. book, fig. 7.12)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Transforming the view frustum
Perspective transform matrix
Homogeneous coordinates
Transforming the view frustum
(cf. book, fig. 7.10)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Transforming the view frustum
Perspective transform matrix
Homogeneous coordinates
Perspective transform matrix
The following matrix does the trick:
Mp =




1 0 0 0
0 1 0 0
0 0 n+f
n −f
0 0 1
n 0




We have Mp




x
y
z
1



 =




x
y
z n+f
n − f
z
n




Hmmmm. . . is that what we
want. . . ?
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Transforming the view frustum
Perspective transform matrix
Homogeneous coordinates
Homogeneous coordinates
We have seen homogeneous coordinates before, but so far, the
fourth coordinate of a 3D point has alway been 1.
In general, however, the homogeneous representation of a point
(x, y, z) in 3D is (hx, hy, hz, h). Choosing h = 1 has just been a
convenience.
So we have:
Mp




x
y
z
1



 =




x
y
z n+f
n − f
z
n



 homogenize
−−−−−−−−→




nx
z
ny
z
n + f − fn
z
1




Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Transforming the view frustum
Perspective transform matrix
Homogeneous coordinates
Transforming the view frustum
(cf. book, fig. 7.9)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Transforming the view frustum
Perspective transform matrix
Homogeneous coordinates
Homogeneous coordinates
Note: moving and scaling still work properly
For example: translation




1 0 0 tx
0 1 0 ty
0 0 1 tz
0 0 0 1








hx
hy
hz
h



 =




hx + htx
hy + hty
hz + htz
h



 homogenize
−−−−−−−−→




x + tx
y + ty
z + tz
1




Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Aligning coordinate systems
Transformation matrix
Aligning coordinate systems
Given a camera coordinate system
with origin e and orthonormal base
(u, v, w), we need to tranform
objects in world space coordinates
into objects in camera coordinates.
This can alternatively be considered
as aligning the canonical coordinate
system with the camera coordinate
system.
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Aligning coordinate systems
Transformation matrix
Camera transformation
The required transformation is taken
care of by Mv =



xu yu zu 0
xv yv zv 0
xw yw zw 0
0 0 0 1








1 0 0 −xe
0 1 0 −ye
0 0 1 −ze
0 0 0 1




Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
The graphics pipeline: part I
Windowing transforms
Perspective transform
Camera transformation
Wrap-up
Wrap-up
If we combine all steps, we get:
compute Mo
compute Mv
compute Mp
M = MoMpMv
for each line segment (ai, bi) do
p = Mai
q = Mbi
drawline(xp/hp, yp/hp, xq/hq, yq/hq)
Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection

More Related Content

What's hot

viewing3d pipeline
viewing3d pipelineviewing3d pipeline
viewing3d pipeline
HiteshJain007
 
Shading
ShadingShading
Shading
Amit Kapoor
 
Clipping
ClippingClipping
Clipping
johanna20
 
Hidden Surfaces
Hidden SurfacesHidden Surfaces
Hidden Surfaces
HiteshJain007
 
Z buffer
Z bufferZ buffer
Z buffer
AmitBiswas99
 
study Active Refocusing Of Images And Videos
study Active Refocusing Of Images And Videosstudy Active Refocusing Of Images And Videos
study Active Refocusing Of Images And Videos
Chiamin Hsu
 
ResearchPaper
ResearchPaperResearchPaper
ResearchPaper
Ian Bloom
 
Back face detection
Back face detectionBack face detection
Back face detection
Pooja Dixit
 
Build Your Own 3D Scanner: Surface Reconstruction
Build Your Own 3D Scanner: Surface ReconstructionBuild Your Own 3D Scanner: Surface Reconstruction
Build Your Own 3D Scanner: Surface Reconstruction
Douglas Lanman
 
Shading in OpenGL
Shading in OpenGLShading in OpenGL
Shading in OpenGL
Syed Zaid Irshad
 
Morphological image processing
Morphological image processingMorphological image processing
Point Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPoint Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D Reconstruction
Pirouz Nourian
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
Punyajoy Saha
 
3 d display methods
3 d display methods3 d display methods
3 d display methods
Shami Al Rahad
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfaces
Mohd Arif
 
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationBuild Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Douglas Lanman
 
20100822 computervision veksler
20100822 computervision veksler20100822 computervision veksler
20100822 computervision veksler
Computer Science Club
 
Morphological operations
Morphological operationsMorphological operations
3-D Visual Reconstruction: A System Perspective
3-D Visual Reconstruction: A System Perspective3-D Visual Reconstruction: A System Perspective
3-D Visual Reconstruction: A System Perspective
Guillermo Medina Zegarra
 
Saad alsheekh multi view
Saad alsheekh  multi viewSaad alsheekh  multi view
Saad alsheekh multi view
SaadAlSheekh1
 

What's hot (20)

viewing3d pipeline
viewing3d pipelineviewing3d pipeline
viewing3d pipeline
 
Shading
ShadingShading
Shading
 
Clipping
ClippingClipping
Clipping
 
Hidden Surfaces
Hidden SurfacesHidden Surfaces
Hidden Surfaces
 
Z buffer
Z bufferZ buffer
Z buffer
 
study Active Refocusing Of Images And Videos
study Active Refocusing Of Images And Videosstudy Active Refocusing Of Images And Videos
study Active Refocusing Of Images And Videos
 
ResearchPaper
ResearchPaperResearchPaper
ResearchPaper
 
Back face detection
Back face detectionBack face detection
Back face detection
 
Build Your Own 3D Scanner: Surface Reconstruction
Build Your Own 3D Scanner: Surface ReconstructionBuild Your Own 3D Scanner: Surface Reconstruction
Build Your Own 3D Scanner: Surface Reconstruction
 
Shading in OpenGL
Shading in OpenGLShading in OpenGL
Shading in OpenGL
 
Morphological image processing
Morphological image processingMorphological image processing
Morphological image processing
 
Point Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPoint Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D Reconstruction
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
3 d display methods
3 d display methods3 d display methods
3 d display methods
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfaces
 
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationBuild Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
 
20100822 computervision veksler
20100822 computervision veksler20100822 computervision veksler
20100822 computervision veksler
 
Morphological operations
Morphological operationsMorphological operations
Morphological operations
 
3-D Visual Reconstruction: A System Perspective
3-D Visual Reconstruction: A System Perspective3-D Visual Reconstruction: A System Perspective
3-D Visual Reconstruction: A System Perspective
 
Saad alsheekh multi view
Saad alsheekh  multi viewSaad alsheekh  multi view
Saad alsheekh multi view
 

Similar to 06 projection.slides (1)

Non-Planar Projections (GRAPP 2008)
Non-Planar Projections (GRAPP 2008)Non-Planar Projections (GRAPP 2008)
Non-Planar Projections (GRAPP 2008)
Matthias Trapp
 
08viewing3d
08viewing3d08viewing3d
08viewing3d
Ketan Jani
 
Review of Linear Image Degradation and Image Restoration Technique
Review of Linear Image Degradation and Image Restoration TechniqueReview of Linear Image Degradation and Image Restoration Technique
Review of Linear Image Degradation and Image Restoration Technique
BRNSSPublicationHubI
 
3 D Graphics
3 D Graphics3 D Graphics
3 D Graphics
Ghaffar Khan
 
A Hough Transform Based On a Map-Reduce Algorithm
A Hough Transform Based On a Map-Reduce AlgorithmA Hough Transform Based On a Map-Reduce Algorithm
A Hough Transform Based On a Map-Reduce Algorithm
IJERA Editor
 
Fisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingFisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous Driving
Yu Huang
 
A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...
A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...
A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...
iosrjce
 
F017663344
F017663344F017663344
F017663344
IOSR Journals
 
Multi-Perspective Views (AGILE 2008)
Multi-Perspective Views (AGILE 2008)Multi-Perspective Views (AGILE 2008)
Multi-Perspective Views (AGILE 2008)
Matthias Trapp
 
Lecture Summary : Camera Projection
Lecture Summary : Camera Projection Lecture Summary : Camera Projection
Lecture Summary : Camera Projection
홍배 김
 
Lec4
Lec4Lec4
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...
IEEEBEBTECHSTUDENTPROJECTS
 
Computer Vision panoramas
Computer Vision  panoramasComputer Vision  panoramas
Computer Vision panoramas
Wael Badawy
 
Lesson 3- Transformations
Lesson 3- TransformationsLesson 3- Transformations
Lesson 3- Transformations
Mark Daniel Dacer
 
3 d graphics with opengl part 2
3 d graphics with opengl  part 23 d graphics with opengl  part 2
3 d graphics with opengl part 2
Sardar Alam
 
4 pipeline computer graphics
4 pipeline computer graphics4 pipeline computer graphics
4 pipeline computer graphics
cairo university
 
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation PipelineComputer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
💻 Anton Gerdelan
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Douglas Lanman
 
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESGFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
Prabindh Sundareson
 
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
Ken Sakurada
 

Similar to 06 projection.slides (1) (20)

Non-Planar Projections (GRAPP 2008)
Non-Planar Projections (GRAPP 2008)Non-Planar Projections (GRAPP 2008)
Non-Planar Projections (GRAPP 2008)
 
08viewing3d
08viewing3d08viewing3d
08viewing3d
 
Review of Linear Image Degradation and Image Restoration Technique
Review of Linear Image Degradation and Image Restoration TechniqueReview of Linear Image Degradation and Image Restoration Technique
Review of Linear Image Degradation and Image Restoration Technique
 
3 D Graphics
3 D Graphics3 D Graphics
3 D Graphics
 
A Hough Transform Based On a Map-Reduce Algorithm
A Hough Transform Based On a Map-Reduce AlgorithmA Hough Transform Based On a Map-Reduce Algorithm
A Hough Transform Based On a Map-Reduce Algorithm
 
Fisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous DrivingFisheye Omnidirectional View in Autonomous Driving
Fisheye Omnidirectional View in Autonomous Driving
 
A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...
A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...
A Hough Transform Implementation for Line Detection for a Mobile Robot Self-N...
 
F017663344
F017663344F017663344
F017663344
 
Multi-Perspective Views (AGILE 2008)
Multi-Perspective Views (AGILE 2008)Multi-Perspective Views (AGILE 2008)
Multi-Perspective Views (AGILE 2008)
 
Lecture Summary : Camera Projection
Lecture Summary : Camera Projection Lecture Summary : Camera Projection
Lecture Summary : Camera Projection
 
Lec4
Lec4Lec4
Lec4
 
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS On the spectrum of the plenoptic f...
 
Computer Vision panoramas
Computer Vision  panoramasComputer Vision  panoramas
Computer Vision panoramas
 
Lesson 3- Transformations
Lesson 3- TransformationsLesson 3- Transformations
Lesson 3- Transformations
 
3 d graphics with opengl part 2
3 d graphics with opengl  part 23 d graphics with opengl  part 2
3 d graphics with opengl part 2
 
4 pipeline computer graphics
4 pipeline computer graphics4 pipeline computer graphics
4 pipeline computer graphics
 
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation PipelineComputer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
 
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESGFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
 
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
 

Recently uploaded

Minor_Michael_PowerPoint-Presentation.pptx
Minor_Michael_PowerPoint-Presentation.pptxMinor_Michael_PowerPoint-Presentation.pptx
Minor_Michael_PowerPoint-Presentation.pptx
MichaelMinor19
 
Portfolio of my work as my passion and skills
Portfolio of my work as my passion and skillsPortfolio of my work as my passion and skills
Portfolio of my work as my passion and skills
waljorylypil626
 
storyboard: Victor and Verlin discussing about top hat
storyboard: Victor and Verlin discussing about top hatstoryboard: Victor and Verlin discussing about top hat
storyboard: Victor and Verlin discussing about top hat
LyneSun
 
原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样
原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样
原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样
dxtmnb3y
 
➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...
➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...
➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Heart Touching Romantic Love Shayari In English with Images
Heart Touching Romantic Love Shayari In English with ImagesHeart Touching Romantic Love Shayari In English with Images
Heart Touching Romantic Love Shayari In English with Images
Short Good Quotes
 
In Focus_ The Evolution of Boudoir Photography in NYC.pdf
In Focus_ The Evolution of Boudoir Photography in NYC.pdfIn Focus_ The Evolution of Boudoir Photography in NYC.pdf
In Focus_ The Evolution of Boudoir Photography in NYC.pdf
Boudoir Photography by Your Hollywood Portrait
 
Domino Express Storyboard - TV Adv Toys 30"
Domino Express Storyboard - TV Adv Toys 30"Domino Express Storyboard - TV Adv Toys 30"
Domino Express Storyboard - TV Adv Toys 30"
Alessandro Occhipinti
 
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...
❼❷⓿❺❻❷❽❷❼❽  Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...❼❷⓿❺❻❷❽❷❼❽  Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Kalyan Satta Matka Guessing Matka Result Main Bazar chart
 
Colour Theory for Painting - Fine Artist.pdf
Colour Theory for Painting - Fine Artist.pdfColour Theory for Painting - Fine Artist.pdf
Colour Theory for Painting - Fine Artist.pdf
Ketan Naik
 
HOW TO USE PINTEREST_by: Clarissa Credito
HOW TO USE PINTEREST_by: Clarissa CreditoHOW TO USE PINTEREST_by: Clarissa Credito
HOW TO USE PINTEREST_by: Clarissa Credito
ClarissaAlanoCredito
 
一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理
一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理
一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理
homgo
 
My storyboard for a sword fight scene with lightsabers
My storyboard for a sword fight scene with lightsabersMy storyboard for a sword fight scene with lightsabers
My storyboard for a sword fight scene with lightsabers
AlejandroGuarnGutirr
 
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样
哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样
哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样
tc73868
 
FinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvn
FinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvnFinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvn
FinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvn
abbieharman
 
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Full CAD Project Cardiovascuwhore Debut PDF CAD Meena Pittman
Full CAD Project Cardiovascuwhore Debut PDF CAD Meena PittmanFull CAD Project Cardiovascuwhore Debut PDF CAD Meena Pittman
Full CAD Project Cardiovascuwhore Debut PDF CAD Meena Pittman
meenap32
 
All the images mentioned in 'See What You're Missing'
All the images mentioned in 'See What You're Missing'All the images mentioned in 'See What You're Missing'
All the images mentioned in 'See What You're Missing'
Dave Boyle
 
Barbie Made To Move Skin Tones Matches.pptx
Barbie Made To Move Skin Tones Matches.pptxBarbie Made To Move Skin Tones Matches.pptx
Barbie Made To Move Skin Tones Matches.pptx
LinaCosta15
 

Recently uploaded (20)

Minor_Michael_PowerPoint-Presentation.pptx
Minor_Michael_PowerPoint-Presentation.pptxMinor_Michael_PowerPoint-Presentation.pptx
Minor_Michael_PowerPoint-Presentation.pptx
 
Portfolio of my work as my passion and skills
Portfolio of my work as my passion and skillsPortfolio of my work as my passion and skills
Portfolio of my work as my passion and skills
 
storyboard: Victor and Verlin discussing about top hat
storyboard: Victor and Verlin discussing about top hatstoryboard: Victor and Verlin discussing about top hat
storyboard: Victor and Verlin discussing about top hat
 
原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样
原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样
原版制作(UNITO毕业证书)都灵大学毕业证Offer一模一样
 
➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...
➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...
➒➌➎➏➑➐➋➑➐➐ Dpboss Matka Guessing Satta Matka Kalyan panel Chart Indian Matka ...
 
Heart Touching Romantic Love Shayari In English with Images
Heart Touching Romantic Love Shayari In English with ImagesHeart Touching Romantic Love Shayari In English with Images
Heart Touching Romantic Love Shayari In English with Images
 
In Focus_ The Evolution of Boudoir Photography in NYC.pdf
In Focus_ The Evolution of Boudoir Photography in NYC.pdfIn Focus_ The Evolution of Boudoir Photography in NYC.pdf
In Focus_ The Evolution of Boudoir Photography in NYC.pdf
 
Domino Express Storyboard - TV Adv Toys 30"
Domino Express Storyboard - TV Adv Toys 30"Domino Express Storyboard - TV Adv Toys 30"
Domino Express Storyboard - TV Adv Toys 30"
 
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...
❼❷⓿❺❻❷❽❷❼❽  Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...❼❷⓿❺❻❷❽❷❼❽  Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka ! Fix Satta Matka ! Matka Result ! Matka Guessing ! ...
 
Colour Theory for Painting - Fine Artist.pdf
Colour Theory for Painting - Fine Artist.pdfColour Theory for Painting - Fine Artist.pdf
Colour Theory for Painting - Fine Artist.pdf
 
HOW TO USE PINTEREST_by: Clarissa Credito
HOW TO USE PINTEREST_by: Clarissa CreditoHOW TO USE PINTEREST_by: Clarissa Credito
HOW TO USE PINTEREST_by: Clarissa Credito
 
一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理
一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理
一比一原版美国亚利桑那大学毕业证(ua毕业证书)如何办理
 
My storyboard for a sword fight scene with lightsabers
My storyboard for a sword fight scene with lightsabersMy storyboard for a sword fight scene with lightsabers
My storyboard for a sword fight scene with lightsabers
 
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
 
哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样
哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样
哪里购买美国乔治城大学毕业证硕士学位证书原版一模一样
 
FinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvn
FinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvnFinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvn
FinalA1LessonPlanMaking.docxdvdnlskdnvsldkvnsdkvn
 
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
➒➌➎➏➑➐➋➑➐➐ Kalyan Matka Satta Matka Dpboss Matka Guessing Indian Matka
 
Full CAD Project Cardiovascuwhore Debut PDF CAD Meena Pittman
Full CAD Project Cardiovascuwhore Debut PDF CAD Meena PittmanFull CAD Project Cardiovascuwhore Debut PDF CAD Meena Pittman
Full CAD Project Cardiovascuwhore Debut PDF CAD Meena Pittman
 
All the images mentioned in 'See What You're Missing'
All the images mentioned in 'See What You're Missing'All the images mentioned in 'See What You're Missing'
All the images mentioned in 'See What You're Missing'
 
Barbie Made To Move Skin Tones Matches.pptx
Barbie Made To Move Skin Tones Matches.pptxBarbie Made To Move Skin Tones Matches.pptx
Barbie Made To Move Skin Tones Matches.pptx
 

06 projection.slides (1)

  • 1. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Perspective projection (outline) 1 The graphics pipeline: part I 2 Windowing transforms 3 Perspective transform 4 Camera transformation 5 Wrap-up Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 2. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Projecting from arbitrary camera positions Camera transformation Orthographic projection and the canonical view volume Windowing transform The graphics pipeline: part I Given an arbitrary camera position, we want to display the objects in the model in an image The projection should be perspective projection. Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 3. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Projecting from arbitrary camera positions Camera transformation Orthographic projection and the canonical view volume Windowing transform Camera transformation We simplify by moving the camera viewpoint to the origin, such that we look into the direction of the negative z-axis. −Z Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 4. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Projecting from arbitrary camera positions Camera transformation Orthographic projection and the canonical view volume Windowing transform Orthographic projection Orthographic projection is a lot simpler than perspective projection, so we transform the clipped view frustum to an axis-parallel box −Z Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 5. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Projecting from arbitrary camera positions Camera transformation Orthographic projection and the canonical view volume Windowing transform The canonical view volume To simplify our calculations, we transform to the canonical view volume (−1, −1) (1, 1) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 6. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Projecting from arbitrary camera positions Camera transformation Orthographic projection and the canonical view volume Windowing transform Windowing transform We apply a windowing transform to display the square [−1, 1] × [−1, 1] onto an m × n image. Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 7. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Projecting from arbitrary camera positions Camera transformation Orthographic projection and the canonical view volume Windowing transform The graphics pipeline: part I Every step in the sequence can be represented by a matrix operation, so the whole process can be applied by performing a single matrix operation! (Well: almost.) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 8. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up The canonical view volume The orthographic view volume The orthographic projection matrix The canonical view volume The canonical view volume is a 2 × 2 × 2 box, centered at the origin. The clipped view frustum is transformed to this box (and the objects within the view frustum undergo the same transformation). Vertices in the canonical view volume are orthographically projected onto an m × n image. −z x y (−1, −1, 1) (1, 1, −1) (1, −1, −1) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 9. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up The canonical view volume The orthographic view volume The orthographic projection matrix Mapping the canonical view volume We need to map the square [−1, 1]2 onto a rectangle [−1 2, m − 1 2] × [−1 2, n − 1 2]. The following matrix takes care of that:   m 2 0 m 2 − 1 2 0 n 2 n 2 − 1 2 0 0 1   (−1, −1) (1, 1) m n Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 10. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up The canonical view volume The orthographic view volume The orthographic projection matrix The orthographic view volume The orthographic view volume is an axis-aligned box [l, r] × [b, t] × [n, f]. Transforming it to the canonical view volume is done by     2 r−l 0 0 0 0 2 t−b 0 0 0 0 2 n−f 0 0 0 0 1         1 0 0 −l+r 2 0 1 0 −b+t 2 0 0 1 −n+f 2 0 0 0 1     −z x y (−1, −1, 1) (1, 1, −1) (1, −1, −1) (l, b, n) (r, t, f) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 11. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up The canonical view volume The orthographic view volume The orthographic projection matrix The orthographic projection matrix We can combine the matrices into one: Mo =    m 2 0 0 m 2 − 1 2 0 n 2 0 n 2 − 1 2 0 0 1 0 0 0 0 1         2 r−l 0 0 0 0 2 t−b 0 0 0 0 2 n−f 0 0 0 0 1         1 0 0 −l+r 2 0 1 0 −b+t 2 0 0 1 −n+f 2 0 0 0 1     Given a point p in the orthographic view volume, we map it to a pixel [i, j] as follows:     i j zcanonical 1     = Mo     xp yp zp 1     Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 12. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Transforming the view frustum Perspective transform matrix Homogeneous coordinates Transforming the view frustum We have to transform the view frustum into the orthographic view volume. The transformation needs to Map lines through the origin to lines parallel to the z axis Map points on the viewing plane to themselves. Map points on the far plane to (other) points on the far plane. Preserve the near-to-far order of points on a line. Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 13. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Transforming the view frustum Perspective transform matrix Homogeneous coordinates Transforming the view frustum (cf. book, fig. 7.12) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 14. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Transforming the view frustum Perspective transform matrix Homogeneous coordinates Transforming the view frustum (cf. book, fig. 7.10) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 15. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Transforming the view frustum Perspective transform matrix Homogeneous coordinates Perspective transform matrix The following matrix does the trick: Mp =     1 0 0 0 0 1 0 0 0 0 n+f n −f 0 0 1 n 0     We have Mp     x y z 1     =     x y z n+f n − f z n     Hmmmm. . . is that what we want. . . ? Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 16. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Transforming the view frustum Perspective transform matrix Homogeneous coordinates Homogeneous coordinates We have seen homogeneous coordinates before, but so far, the fourth coordinate of a 3D point has alway been 1. In general, however, the homogeneous representation of a point (x, y, z) in 3D is (hx, hy, hz, h). Choosing h = 1 has just been a convenience. So we have: Mp     x y z 1     =     x y z n+f n − f z n     homogenize −−−−−−−−→     nx z ny z n + f − fn z 1     Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 17. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Transforming the view frustum Perspective transform matrix Homogeneous coordinates Transforming the view frustum (cf. book, fig. 7.9) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 18. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Transforming the view frustum Perspective transform matrix Homogeneous coordinates Homogeneous coordinates Note: moving and scaling still work properly For example: translation     1 0 0 tx 0 1 0 ty 0 0 1 tz 0 0 0 1         hx hy hz h     =     hx + htx hy + hty hz + htz h     homogenize −−−−−−−−→     x + tx y + ty z + tz 1     Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 19. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Aligning coordinate systems Transformation matrix Aligning coordinate systems Given a camera coordinate system with origin e and orthonormal base (u, v, w), we need to tranform objects in world space coordinates into objects in camera coordinates. This can alternatively be considered as aligning the canonical coordinate system with the camera coordinate system. Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 20. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Aligning coordinate systems Transformation matrix Camera transformation The required transformation is taken care of by Mv =    xu yu zu 0 xv yv zv 0 xw yw zw 0 0 0 0 1         1 0 0 −xe 0 1 0 −ye 0 0 1 −ze 0 0 0 1     Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection
  • 21. The graphics pipeline: part I Windowing transforms Perspective transform Camera transformation Wrap-up Wrap-up If we combine all steps, we get: compute Mo compute Mv compute Mp M = MoMpMv for each line segment (ai, bi) do p = Mai q = Mbi drawline(xp/hp, yp/hp, xq/hq, yq/hq) Graphics, 1st period 2006/2007 Lecture 6: Orthographic and perspective projection