Viewpoints and Transformations CSIS 5838: Graphics and Animation for Gaming.

Slides:



Advertisements
Similar presentations
Computer Graphics - Viewing -
Advertisements

3D to 2D Orthographic Projection Delineation Techniques
Three Dimensional Viewing
Shared Graphics Skills Cameras and Clipping Planes
CS 4363/6353 INTRODUCTION TO COMPUTER GRAPHICS. WHAT YOU’LL SEE Interactive 3D computer graphics Real-time 2D, but mostly 3D OpenGL C/C++ (if you don’t.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 5: Viewing
CS485/685 Computer Vision Prof. George Bebis
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 14 Chapter 14: The Camera.
Viewing Doug James’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals of Computer Graphics, Chap 7 Wen-Chieh (Steve) Lin Institute of Multimedia.
OpenGL (II). How to Draw a 3-D object on Screen?
CS 4731: Computer Graphics Lecture 11: 3D Viewing Emmanuel Agu.
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
COMP 175: Computer Graphics March 24, 2015
Week 2 - Wednesday CS361.
Computer Graphics World, View and Projection Matrices CO2409 Computer Graphics Week 8.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
CS559: Computer Graphics Lecture 9: Projection Li Zhang Spring 2008.
Viewing Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
Graphics Graphics Korea University cgvr.korea.ac.kr 3D Viewing 고려대학교 컴퓨터 그래픽스 연구실.
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.
Computer Graphics Bing-Yu Chen National Taiwan University.
Foundations of Computer Graphics (Fall 2012) CS 184, Lectures 13,14: Reviews Transforms, OpenGL
CAP4730: Computational Structures in Computer Graphics 3D Transformations.
SE 313 – Computer Graphics Lecture 8: Transformations and Projections Lecturer: Gazihan Alankuş 1.
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.
Mark Nelson 3d projections Fall 2013
Basic 3D Concepts. Overview 1.Coordinate systems 2.Transformations 3.Projection 4.Rasterization.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Jinxiang Chai CSCE 441 Computer Graphics 3-D Viewing 0.
Chapters 5 2 March Classical & Computer Viewing Same elements –objects –viewer –projectors –projection plane.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 5: Viewing
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
Taxonomy of Projections FVFHP Figure Taxonomy of Projections.
Viewing and Projection
A Photograph of two papers

Coordinate Systems Lecture 1 Fri, Sep 2, The Coordinate Systems The points we create are transformed through a series of coordinate systems before.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Viewing and Projection. The topics Interior parameters Projection type Field of view Clipping Frustum… Exterior parameters Camera position Camera orientation.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Design Visualization Software Introduction / Review.
Mobile & Casual Gaming OpenGL ES Intro. /red/chapter03.html.
3D GRAPHICS RENDERING PIPELINE CS / TECHNICAL BACKGROUND PAGE 11.
CS 551 / 645: Introductory Computer Graphics Viewing Transforms.
Coordinate Systems Lecture 20 Wed, Oct 15, Object Coordinates Each object has its own “local” coordinate system, called object coordinates. Normally.
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.
Introduction to Computer Graphics
Visible Surface Detection
Rendering Pipeline Fall, 2015.
Computer Graphics Imaging
3D Viewing cgvr.korea.ac.kr.
Graphics Fundamentals
3D Computer Graphics (3080/GV10) Week 5-6 Tutorial 3
CSCE 441 Computer Graphics 3-D Viewing
Modeling 101 For the moment assume that all geometry consists of points, lines and faces Line: A segment between two endpoints Face: A planar area bounded.
CS451Real-time Rendering Pipeline
A Photograph of two papers
Computer Graphics Imaging
Viewing and Perspective Transformations
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Computer Animation Texture Mapping.
Chapter V Vertex Processing
Last Time Canonical view pipeline Projection Local Coordinate Space
Viewing (Projections)
Presentation transcript:

Viewpoints and Transformations CSIS 5838: Graphics and Animation for Gaming

Coordinate Systems Object Space: Coordinate space of an individual mesh – Edit mode in Blender Translating/rotating/scaling in this space changes location of individual vertices in this coordinate system – Usually with respect to some “object center” Howard Hamilton, University of Regina

Coordinate Systems World Space: Overall coordinate space of all elements – Object mode in Blender Translating/rotating/scaling object in this space changes object space relative to world space – “Object center” manipulated – All vertices move with center Howard Hamilton, University of Regina

Coordinate Systems Image Space: Coordinate system from POV of viewer/camera – Camera view in Blender Convention: Center of Interest (COI) along z-axis in this space Moving camera/viewpoint changes this space relative to world space Howard Hamilton, University of Regina

Affine Transformations Transformation between coordinate systems using matrix multiplication General affine transformation of point (x, y, z) in one coordinate system to (x’, y’, z’) in another coordinate system:

Translation and Scaling Translation by [p, q, r]: Scaling by [p, q, r]:

Rotation About Different Axes By α around x-axis: By α around z-axis:

Combined Transformations Can combine all transformation into single matrix with multiplication M obj2world = M objtrans x M objscale x M objrotX x M objrotY x M objrotZ M world2eye = M worldtrans x M worldscale x M worldrotX x M worldrotY x M worldrotZ M obj2eye = M obj2world x M world2eye Efficiency: – Compute M obj2world for each object – Compute M world2eye once for entire world – Compute M obj2eye for each object – Apply M obj2eye to each vertex in each object

The Rendering Pipeline Conversion of vertices, etc. on mesh in object space to world space Projection of points in 3D world space into 2D image space Other modifiers – Surface features (colors, UV images etc.) – Transformation of apparent surfaces (smoothing, etc.) –…–…

Visual Frustum Area of world rendered to screen (“field of view”) Near clip plane = image plane (where image “projected”) Far clip plane = limit of view – Nothing further from camera rendered – Also nothing outside of “cone” rendered

Orthographic vs. Perspective View Projecting vertices in 3D image space to 2D image plane Orthographic view: (x, y, z) in image space  (x, y) on image plane – No foreshortening – Makes editing objects simpler blender.org

Perspective View “Normal” vision with foreshortening Image projected to point representing location of viewer Focal length f = distance between viewer and image plane – Smaller f = more foreshortening blender.org

Perspective Transformation Foreshortening: (x, y, z) in image space  (xf/z, yf/z) on image plane gamedev.com