6. CGVR Viewing and Transformation
Total Page:16
File Type:pdf, Size:1020Kb

Load more
Recommended publications
-
An Analytical Introduction to Descriptive Geometry
An analytical introduction to Descriptive Geometry Adrian B. Biran, Technion { Faculty of Mechanical Engineering Ruben Lopez-Pulido, CEHINAV, Polytechnic University of Madrid, Model Basin, and Spanish Association of Naval Architects Avraham Banai Technion { Faculty of Mathematics Prepared for Elsevier (Butterworth-Heinemann), Oxford, UK Samples - August 2005 Contents Preface x 1 Geometric constructions 1 1.1 Introduction . 2 1.2 Drawing instruments . 2 1.3 A few geometric constructions . 2 1.3.1 Drawing parallels . 2 1.3.2 Dividing a segment into two . 2 1.3.3 Bisecting an angle . 2 1.3.4 Raising a perpendicular on a given segment . 2 1.3.5 Drawing a triangle given its three sides . 2 1.4 The intersection of two lines . 2 1.4.1 Introduction . 2 1.4.2 Examples from practice . 2 1.4.3 Situations to avoid . 2 1.5 Manual drawing and computer-aided drawing . 2 i ii CONTENTS 1.6 Exercises . 2 Notations 1 2 Introduction 3 2.1 How we see an object . 3 2.2 Central projection . 4 2.2.1 De¯nition . 4 2.2.2 Properties . 5 2.2.3 Vanishing points . 17 2.2.4 Conclusions . 20 2.3 Parallel projection . 23 2.3.1 De¯nition . 23 2.3.2 A few properties . 24 2.3.3 The concept of scale . 25 2.4 Orthographic projection . 27 2.4.1 De¯nition . 27 2.4.2 The projection of a right angle . 28 2.5 The two-sheet method of Monge . 36 2.6 Summary . 39 2.7 Examples . 43 2.8 Exercises . -
Viewing in 3D
Viewing in 3D Viewing in 3D Foley & Van Dam, Chapter 6 • Transformation Pipeline • Viewing Plane • Viewing Coordinate System • Projections • Orthographic • Perspective OpenGL Transformation Pipeline Viewing Coordinate System Homogeneous coordinates in World System zw world yw ModelViewModelView Matrix Matrix xw Tractor Viewing System Viewer Coordinates System ProjectionProjection Matrix Matrix Clip y Coordinates v Front- xv ClippingClipping Wheel System P0 zv ViewportViewport Transformation Transformation ne pla ing Window Coordinates View Specifying the Viewing Coordinates Specifying the Viewing Coordinates • Viewing Coordinates system, [xv, yv, zv], describes 3D objects with respect to a viewer zw y v P v xv •A viewing plane (projection plane) is set up N P0 zv perpendicular to zv and aligned with (xv,yv) yw xw ne pla ing • In order to specify a viewing plane we have View to specify: •P0=(x0,y0,z0) is the point where a camera is located •a vector N normal to the plane • P is a point to look-at •N=(P-P)/|P -P| is the view-plane normal vector •a viewing-up vector V 0 0 •V=zw is the view up vector, whose projection onto • a point on the viewing plane the view-plane is directed up Viewing Coordinate System Projections V u N z N ; x ; y z u x • Viewing 3D objects on a 2D display requires a v v V u N v v v mapping from 3D to 2D • The transformation M, from world-coordinate into viewing-coordinates is: • A projection is formed by the intersection of certain lines (projectors) with the view plane 1 2 3 ª x v x v x v 0 º ª 1 0 0 x 0 º « » « -
Canonical View Volumes
University of British Columbia View Volumes Canonical View Volumes Why Canonical View Volumes? CPSC 314 Computer Graphics Jan-Apr 2016 • specifies field-of-view, used for clipping • standardized viewing volume representation • permits standardization • restricts domain of z stored for visibility test • clipping Tamara Munzner perspective orthographic • easier to determine if an arbitrary point is perspective view volume orthographic view volume orthogonal enclosed in volume with canonical view y=top parallel volume vs. clipping to six arbitrary planes y=top x=left x=left • rendering y y x or y x or y = +/- z x or y back • projection and rasterization algorithms can be Viewing 3 z plane z x=right back 1 VCS front reused front plane VCS y=bottom z=-near z=-far x -z x z=-far plane -z plane -1 x=right y=bottom z=-near http://www.ugrad.cs.ubc.ca/~cs314/Vjan2016 -1 2 3 4 Normalized Device Coordinates Normalized Device Coordinates Understanding Z Understanding Z near, far always positive in GL calls • convention left/right x =+/- 1, top/bottom y =+/- 1, near/far z =+/- 1 • z axis flip changes coord system handedness THREE.OrthographicCamera(left,right,bot,top,near,far); • viewing frustum mapped to specific mat4.frustum(left,right,bot,top,near,far, projectionMatrix); • RHS before projection (eye/view coords) parallelepiped Camera coordinates NDC • LHS after projection (clip, norm device coords) • Normalized Device Coordinates (NDC) x x perspective view volume orthographic view volume • same as clipping coords x=1 VCS NDCS y=top • only objects -
Squaring the Circle in Panoramas
Squaring the Circle in Panoramas Lihi Zelnik-Manor1 Gabriele Peters2 Pietro Perona1 1. Department of Electrical Engineering 2. Informatik VII (Graphische Systeme) California Institute of Technology Universitat Dortmund Pasadena, CA 91125, USA Dortmund, Germany http://www.vision.caltech.edu/lihi/SquarePanorama.html Abstract and conveying the vivid visual impression of large panora- mas. Such mosaics are superior to panoramic pictures taken Pictures taken by a rotating camera cover the viewing with conventional fish-eye lenses in many respects: they sphere surrounding the center of rotation. Having a set of may span wider fields of view, they have unlimited reso- images registered and blended on the sphere what is left to lution, they make use of cheaper optics and they are not be done, in order to obtain a flat panorama, is projecting restricted to the projection geometry imposed by the lens. the spherical image onto a picture plane. This step is unfor- The geometry of single view point panoramas has long tunately not obvious – the surface of the sphere may not be been well understood [12, 21]. This has been used for mo- flattened onto a page without some form of distortion. The saicing of video sequences (e.g., [13, 20]) as well as for ob- objective of this paper is discussing the difficulties and op- taining super-resolution images (e.g., [6, 23]). By contrast portunities that are connected to the projection from view- when the point of view changes the mosaic is ‘impossible’ ing sphere to image plane. We first explore a number of al- unless the structure of the scene is very special. -
COMPUTER GRAPHICS COURSE Viewing and Projections
COMPUTER GRAPHICS COURSE Viewing and Projections Georgios Papaioannou - 2014 VIEWING TRANSFORMATION The Virtual Camera • All graphics pipelines perceive the virtual world Y through a virtual observer (camera), also positioned in the 3D environment “eye” (virtual camera) Eye Coordinate System (1) • The virtual camera or “eye” also has its own coordinate system, the eyeY coordinate system Y Eye coordinate system (ECS) Z eye X Y X Z Global (world) coordinate system (WCS) Eye Coordinate System (2) • Expressing the scene’s geometry in the ECS is a natural “egocentric” representation of the world: – It is how we perceive the user’s relationship with the environment – It is usually a more convenient space to perform certain rendering tasks, since it is related to the ordering of the geometry in the final image Eye Coordinate System (3) • Coordinates as “seen” from the camera reference frame Y ECS X Eye Coordinate System (4) • What “egocentric” means in the context of transformations? – Whatever transformation produced the camera system its inverse transformation expresses the world w.r.t. the camera • Example: If I move the camera “left”, objects appear to move “right” in the camera frame: WCS camera motion Eye-space object motion Moving to Eye Coordinates • Moving to ECS is a change of coordinates transformation • The WCSECS transformation expresses the 3D environment in the camera coordinate system • We can define the ECS transformation in two ways: – A) Invert the transformations we applied to place the camera in a particular pose – B) Explicitly define the coordinate system by placing the camera at a specific location and setting up the camera vectors WCSECS: Version A (1) • Let us assume that we have an initial camera at the origin of the WCS • Then, we can move and rotate the “eye” to any pose (rigid transformations only: No sense in scaling a camera): 퐌푐 퐨푐, 퐮, 퐯, 퐰 = 퐑1퐑2퐓1퐑ퟐ … . -
CS 4204 Computer Graphics 3D Views and Projection
CS 4204 Computer Graphics 3D views and projection Adapted from notes by Yong Cao 1 Overview of 3D rendering Modeling: * Topic we’ve already discussed • *Define object in local coordinates • *Place object in world coordinates (modeling transformation) Viewing: • Define camera parameters • Find object location in camera coordinates (viewing transformation) Projection: project object to the viewplane Clipping: clip object to the view volume *Viewport transformation *Rasterization: rasterize object Simple teapot demo 3D rendering pipeline Vertices as input Series of operations/transformations to obtain 2D vertices in screen coordinates These can then be rasterized 3D rendering pipeline We’ve already discussed: • Viewport transformation • 3D modeling transformations We’ll talk about remaining topics in reverse order: • 3D clipping (simple extension of 2D clipping) • 3D projection • 3D viewing Clipping: 3D Cohen-Sutherland Use 6-bit outcodes When needed, clip line segment against planes Viewing and Projection Camera Analogy: 1. Set up your tripod and point the camera at the scene (viewing transformation). 2. Arrange the scene to be photographed into the desired composition (modeling transformation). 3. Choose a camera lens or adjust the zoom (projection transformation). 4. Determine how large you want the final photograph to be - for example, you might want it enlarged (viewport transformation). Projection transformations Introduction to Projection Transformations Mapping: f : Rn Rm Projection: n > m Planar Projection: Projection on a plane. -
Perspective Projection
Transform 3D objects on to a 2D plane using projections 2 types of projections Perspective Parallel In parallel projection, coordinate positions are transformed to the view plane along parallel lines. In perspective projection, object position are transformed to the view plane along lines that converge to a point called projection reference point (center of projection) 2 Perspective Projection 3 Parallel Projection 4 PROJECTIONS PARALLEL PERSPECTIVE (parallel projectors) (converging projectors) One point Oblique Orthographic (one principal (projectors perpendicular (projectors not perpendicular to vanishing point) to view plane) view plane) Two point General (Two principal Multiview Axonometric vanishing point) (view plane parallel (view plane not parallel to Cavalier principal planes) to principal planes) Three point (Three principal Cabinet vanishing point) Isometric Dimetric Trimetric 5 Perspective v Parallel • Perspective: – visual effect is similar to human visual system... – has 'perspective foreshortening' • size of object varies inversely with distance from the center of projection. Projection of a distant object are smaller than the projection of objects of the same size that are closer to the projection plane. • Parallel: It preserves relative proportion of object. – less realistic view because of no foreshortening – however, parallel lines remain parallel. 6 Perspective Projections • Characteristics: • Center of Projection (CP) is a finite distance from object • Projectors are rays (i.e., non-parallel) • Vanishing points • Objects appear smaller as distance from CP (eye of observer) increases • Difficult to determine exact size and shape of object • Most realistic, difficult to execute 7 • When a 3D object is projected onto view plane using perspective transformation equations, any set of parallel lines in the object that are not parallel to the projection plane, converge at a vanishing point. -
Interactive Volume Navigation
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 4, NO. 3, JULY-SEPTEMBER 1998 243 Interactive Volume Navigation Martin L. Brady, Member, IEEE, Kenneth K. Jung, Member, IEEE, H.T. Nguyen, Member, IEEE, and Thinh PQ Nguyen Member, IEEE Abstract—Volume navigation is the interactive exploration of volume data sets by “flying” the viewpoint through the data, producing a volume rendered view at each frame. We present an inexpensive perspective volume navigation method designed to be run on a PC platform with accelerated 3D graphics hardware. The heart of the method is a two-phase perspective raycasting algorithm that takes advantage of the coherence inherent in adjacent frames during navigation. The algorithm generates a sequence of approximate volume-rendered views in a fraction of the time that would be required to compute them individually. The algorithm handles arbitrarily large volumes by dynamically swapping data within the current view frustum into main memory as the viewpoint moves through the volume. We also describe an interactive volume navigation application based on this algorithm. The application renders gray-scale, RGB, and labeled RGB volumes by volumetric compositing, allows trilinear interpolation of sample points, and implements progressive refinement during pauses in user input. Index Terms—Volume navigation, volume rendering, 3D medical imaging, scientific visualization, texture mapping. ——————————F—————————— 1INTRODUCTION OLUME-rendering techniques can be used to create in- the views should be produced at interactive rates. The V formative two-dimensional (2D) rendered views from complete data set may exceed the system’s memory, but the large three-dimensional (3D) images, or volumes, such as amount of data enclosed by the view frustum is assumed to those arising in scientific and medical applications. -
Computer Graphicsgraphics -- Weekweek 33
ComputerComputer GraphicsGraphics -- WeekWeek 33 Bengt-Olaf Schneider IBM T.J. Watson Research Center Questions about Last Week ? Computer Graphics – Week 3 © Bengt-Olaf Schneider, 1999 Overview of Week 3 Viewing transformations Projections Camera models Computer Graphics – Week 3 © Bengt-Olaf Schneider, 1999 VieViewingwing Transformation Computer Graphics – Week 3 © Bengt-Olaf Schneider, 1999 VieViewingwing Compared to Taking Pictures View Vector & Viewplane: Direct camera towards subject Viewpoint: Position "camera" in scene Up Vector: Level the camera Field of View: Adjust zoom Clipping: Select content Projection: Exposure Field of View Computer Graphics – Week 3 © Bengt-Olaf Schneider, 1999 VieViewingwing Transformation Position and orient camera Set viewpoint, viewing direction and upvector Use geometric transformation to position camera with respect to the scene or ... scene with respect to the camera. Both approaches are mathematically equivalent. Computer Graphics – Week 3 © Bengt-Olaf Schneider, 1999 VieViewingwing Pipeline and Coordinate Systems Model Modeling Transformation Coordinates (MC) Modeling Position objects in world coordinates Transformation Viewing Transformation World Coordinates (WC) Position objects in eye/camera coordinates Viewing EC a.k.a. View Reference Coordinates Transformation Eye (Viewing) Perspective Transformation Coordinates (EC) Perspective Convert view volume to a canonical view volume Transformation Also used for clipping Perspective PC a.k.a. clip coordinates Coordinates (PC) Perspective Perspective Division Division Normalized Device Perform mapping from 3D to 2D Coordinates (NDC) Viewport Mapping Viewport Mapping Map normalized device coordinates into Device window/screen coordinates Coordinates (DC) Computer Graphics – Week 3 © Bengt-Olaf Schneider, 1999 Why a special eye coordinate systemsystem ? In prinicipal it is possible to directly project on an arbitray viewplane. However, this is computationally very involved. -
CSCI 445: Computer Graphics
CSCI 445: Computer Graphics Qing Wang Assistant Professor at Computer Science Program The University of Tennessee at Martin Angel and Shreiner: Interactive Computer Graphics 7E © 1 Addison-Wesley 2015 Classical Viewing Angel and Shreiner: Interactive Computer Graphics 7E © 2 Addison-Wesley 2015 Objectives • Introduce the classical views • Compare and contrast image formation by computer with how images have been formed by architects, artists, and engineers • Learn the benefits and drawbacks of each type of view Angel and Shreiner: Interactive Computer Graphics 7E © 3 Addison-Wesley 2015 Classical Viewing • Viewing requires three basic elements • One or more objects • A viewer with a projection surface • Projectors that go from the object(s) to the projection surface • Classical views are based on the relationship among these elements • The viewer picks up the object and orients it how she would like to see it • Each object is assumed to constructed from flat principal faces • Buildings, polyhedra, manufactured objects Angel and Shreiner: Interactive Computer Graphics 7E © 4 Addison-Wesley 2015 Planar Geometric Projections • Standard projections project onto a plane • Projectors are lines that either • converge at a center of projection • are parallel • Such projections preserve lines • but not necessarily angles • Nonplanar projections are needed for applications such as map construction Angel and Shreiner: Interactive Computer Graphics 7E © 5 Addison-Wesley 2015 Classical Projections Angel and Shreiner: Interactive Computer Graphics 7E -
Openscenegraph 3.0 Beginner's Guide
OpenSceneGraph 3.0 Beginner's Guide Create high-performance virtual reality applications with OpenSceneGraph, one of the best 3D graphics engines Rui Wang Xuelei Qian BIRMINGHAM - MUMBAI OpenSceneGraph 3.0 Beginner's Guide Copyright © 2010 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: December 2010 Production Reference: 1081210 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849512-82-4 www.packtpub.com Cover Image by Ed Maclean ([email protected]) Credits Authors Editorial Team Leader Rui Wang Akshara Aware Xuelei Qian Project Team Leader Reviewers Lata Basantani Jean-Sébastien Guay Project Coordinator Cedric Pinson -
Opensg Starter Guide 1.2.0
OpenSG Starter Guide 1.2.0 Generated by Doxygen 1.3-rc2 Wed Mar 19 06:23:28 2003 Contents 1 Introduction 3 1.1 What is OpenSG? . 3 1.2 What is OpenSG not? . 4 1.3 Compilation . 4 1.4 System Structure . 5 1.5 Installation . 6 1.6 Making and executing the test programs . 6 1.7 Making and executing the tutorials . 6 1.8 Extending OpenSG . 6 1.9 Where to get it . 7 1.10 Scene Graphs . 7 2 Base 9 2.1 Base Types . 9 2.2 Log . 9 2.3 Time & Date . 10 2.4 Math . 10 2.5 System . 11 2.6 Fields . 11 2.7 Creating New Field Types . 12 2.8 Base Functors . 13 2.9 Socket . 13 2.10 StringConversion . 16 3 Fields & Field Containers 17 3.1 Creating a FieldContainer instance . 17 3.2 Reference counting . 17 3.3 Manipulation . 18 3.4 FieldContainer attachments . 18 ii CONTENTS 3.5 Data separation & Thread safety . 18 4 Image 19 5 Nodes & NodeCores 21 6 Groups 23 6.1 Group . 23 6.2 Switch . 23 6.3 Transform . 23 6.4 ComponentTransform . 23 6.5 DistanceLOD . 24 6.6 Lights . 24 7 Drawables 27 7.1 Base Drawables . 27 7.2 Geometry . 27 7.3 Slices . 35 7.4 Particles . 35 8 State Handling 37 8.1 BlendChunk . 39 8.2 ClipPlaneChunk . 39 8.3 CubeTextureChunk . 39 8.4 LightChunk . 39 8.5 LineChunk . 39 8.6 PointChunk . 39 8.7 MaterialChunk . 40 8.8 PolygonChunk . 40 8.9 RegisterCombinersChunk .