Coordinate Systems Lecture 1 Fri, Sep 2, 2005. The Coordinate Systems The points we create are transformed through a series of coordinate systems before.

Slides:



Advertisements
Similar presentations
MAT 594CM S2010Fundamentals of Spatial ComputingAngus Forbes Overview Goals of the course: 1. to introduce real-time 3D graphics programming with openGL.
Advertisements

Computer Graphics Lecture 4 Geometry & Transformations.
Graphics Pipeline.
1 Computer Graphics Chapter 8 3D Transformations.
The View Frustum and the Camera Lecture 19 Fri, Oct 10, 2003.
Projection Matrices CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Viewing and Transformation
Part I: Basics of Computer Graphics Viewing Transformation and Coordinate Systems Chapter
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 5: Viewing
CS485/685 Computer Vision Prof. George Bebis
Viewing Doug James’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals of Computer Graphics, Chap 7 Wen-Chieh (Steve) Lin Institute of Multimedia.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2008 Tamara Munzner Viewing/Projections I.
4.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 4 Projection Clipping Viewport Transformation.
OpenGL (II). How to Draw a 3-D object on Screen?
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
12.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 12 – 3D Graphics Transformation Pipeline: Projection and Clipping.
Viewing & Perspective CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2005.
Geometric Intuition Randy Gaul. Vectors, Points and Basis Matrices Rotation Matrices Dot product and how it’s useful Cross product and how it’s useful.
COMP 175: Computer Graphics March 24, 2015
Viewing and Projections
Advanced Computer Graphics Three Dimensional Viewing
The Viewing Pipeline (Chapter 4) 5/26/ Overview OpenGL viewing pipeline: OpenGL viewing pipeline: – Modelview matrix – Projection matrix Parallel.
Week 2 - Wednesday CS361.
Computer Graphics World, View and Projection Matrices CO2409 Computer Graphics Week 8.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
2 COEN Computer Graphics I Evening’s Goals n Discuss the mathematical transformations that are utilized for computer graphics projection viewing.
CS559: Computer Graphics Lecture 9: Projection Li Zhang Spring 2008.
CS-378: Game Technology Lecture #2.1: Projection Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
CAP 4703 Computer Graphic Methods Prof. Roy Levow Chapter 5.
CS559: Computer Graphics Lecture 9: Rasterization Li Zhang Spring 2008.
CS 450: COMPUTER GRAPHICS PROJECTIONS SPRING 2015 DR. MICHAEL J. REALE.
OpenGL The Viewing Pipeline: Definition: a series of operations that are applied to the OpenGL matrices, in order to create a 2D representation from 3D.
CSE Real Time Rendering Week 5. Slides(Some) Courtesy – E. Angel and D. Shreiner.
OpenGL Viewing and Modeling Transformation Geb Thomas Adapted from the OpenGL Programming Guidethe OpenGL Programming Guide.
Basic Perspective Projection Watt Section 5.2, some typos Define a focal distance, d, and shift the origin to be at that distance (note d is negative)
Jinxiang Chai CSCE 441 Computer Graphics 3-D Viewing 0.
The Camera Analogy ► Set up your tripod and point the camera at the scene (viewing transformation) ► Arrange the scene to be photographed into the desired.
Three-Dimensional Viewing Hearn & Baker Chapter 7
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 5: Viewing
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
12-Perspective Depth Assoc.Dr. Ahmet Zafer Şenalp Mechanical Engineering Department Gebze Technical.
Viewpoints and Transformations CSIS 5838: Graphics and Animation for Gaming.
Navigating in 3D MAX CTEC V part 1. Viewing Objects and/or Scenes Depending upon the software program, the image on the monitor could be a Perspective.
Rendering Pipeline Fall, D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination.
Taxonomy of Projections FVFHP Figure Taxonomy of Projections.
A Photograph of two papers

Viewing and Projection. The topics Interior parameters Projection type Field of view Clipping Frustum… Exterior parameters Camera position Camera orientation.
3D GRAPHICS RENDERING PIPELINE CS / TECHNICAL BACKGROUND PAGE 11.
CS 551 / 645: Introductory Computer Graphics Viewing Transforms.
Perspective View Volume View Volume Far Near Window Far Near Window Center of Projection Center of Projection (a) Original Orientation (b) After Transformation.
Coordinate Systems Lecture 20 Wed, Oct 15, Object Coordinates Each object has its own “local” coordinate system, called object coordinates. Normally.
OpenGL LAB III.
Viewing. Classical Viewing Viewing requires three basic elements - One or more objects - A viewer with a projection surface - Projectors that go from.
Outline 3D Viewing Required readings: HB 10-1 to 10-10
3D Ojbects: Transformations and Modeling. Matrix Operations Matrices have dimensions: Vectors can be thought of as matrices: v=[2,3,4,1] is a 1x4 matrix.
A Photograph of two papers The Model: 2 papers – 8cm x 8cm and 5cm x 5cm The Camera – Simple pinhole – No focusing capability The Scene – Arrangements.
Three Dimensional Viewing
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016
CSE 167 [Win 17], Lecture 5: Viewing Ravi Ramamoorthi
CSCE 441 Computer Graphics 3-D Viewing
3D Clipping.
A Photograph of two papers
CSC4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University View & Projection.
Projection in 3-D Glenn G. Chappell
Chapter V Vertex Processing
Viewing (Projections)
Presentation transcript:

Coordinate Systems Lecture 1 Fri, Sep 2, 2005

The Coordinate Systems The points we create are transformed through a series of coordinate systems before being drawn on the screen. Model coordinates World coordinates Eye coordinates Clip coordinates Normalized device coordinates Viewport coordinates Screen coordinates

Changing Coordinate Systems In most cases, we change from one coordinate system to another by using a linear transformation. A linear transformation is a function that can be described by matrix multiplication. X' = AX.

Affine and Projective Transformations A linear transformation always maps lines to lines, i.e., collinear points to collinear points. An affine linear transformation always maps Parallel lines to parallel lines. Intersecting lines to intersecting lines. A projective linear transformation may map Parallel lines to intersecting lines. Intersecting lines to parallel lines.

Model Coordinates An object is first drawn in model coordinates. This is a coordinate system that is local to the object. The origin and the axes are selected for convenience relative to that object.

Examples Sphere Place the origin at the center of the sphere. Cube Place the origin at one corner. Place the adjacent corners on the positive x-, y-, and z-axes. Cone? Cylinder?

Model Coordinates for a Cube Read Run

World Coordinates The world coordinate system is the system of coordinates used for building the 3-D scene in a single unified model. The origin and axes are chosen for convenience.

Example Imagine a scene with five cubes spaced out in a row. Each cube has its own model coordinate system. There is only one world coordinate system.

Five Cubes in a Row Read Run

World Coordinates Linear transformations are used to move the objects from their local coordinate systems to the world coordinate system. Translations Rotations Reflections Scalings

Eye Coordinates In the eye coordinate system, the viewpoint, or “eye,” or “camera” is Located at the origin. Looking down the negative z-axis.

The Eye Coordinate System x y z Eye Direction of view

Eye Coordinates Linear transformations are used to move the eye from the origin to the desired viewing position in world coordinates. Translations Rotations Actually, it is the inverse of this transformation that is applied to transform the objects from world coordinates to eye coordinates.

The View Frustum The view frustum is a truncated rectangular pyramid with vertex at the eye and bases parallel to the line of sight. It is bounded by six planes. The left and right planes. The top and bottom planes. The near and far planes.

The View Frustum Read Run

The View Frustum The view frustum represents that part of the scene that will be visible on the computer screen. For technical reasons, the near and far planes eliminate objects that are either too near or too far away.

The View Frustum Transformed Read Run

Clip Coordinates Eye coordinates are transformed to clip coordinates by another linear transformation. It transforms the view frustum into sort of a cube. This transformation distorts angles and distances. In clip space, the GPU “clips” all objects, removing objects or parts of objects that are outside of the view frustum.

Normalized Device Coordinates The view frustum is like a distorted cube. The transformation to clip coordinates followed by the perspective division, transforms the view frustum into a perfect cube. This coordinate system is called normalized device coordinates. This transformation is less intuitive; we will learn the details later.

Normalized Device Coordinates The cube is centered at the origin. Each dimension ranges from -1 to  x  1 -1  y  1 -1  z  1

Normalized Coordinates x y z

Viewport Coordinates The coordinate system of the drawing region on the 2-D screen is the viewport coordinate system. The origin (0, 0) is the lower left corner. Increasing x is to the right. Increasing y is up.

Viewport Coordinates (0, 0) x y (x, y)

Window Coordinates The window coordinate system is like the screen coordinate system, except that The origin is in the upper left corner. Increasing y is down.

Window Coordinates (0, 0) x y The viewport within the window (x, y)

Window Coordinates Normally, the viewport will fill the window. Thus, the x-coordinates will be the same. x view = x window The y-coordinates will run in opposite directions. y view = screen height – y window