6. CGVR Viewing and Transformation

Total Page:16

File Type:pdf, Size:1020Kb

6. CGVR Viewing and Transformation Realtime 3D Computer Graphics & Virtual Reality Viewing Per Poly. Per Transformation Poly. Vertex Vertex CPU DL Raster Frag FB CPU DL Raster Frag FB Texture Texture Pipeline Pixel Pixel object eye clip normalized window device v e r Modelview Projection Perspective Viewport t e Matrix Matrix Division Transform x Modelview Projection n other calculations here Modelview – material è color – shade model (flat) l – polygon rendering mode l – polygon culling l – clipping 1 Example Frame Rending n Establish World n Establish Viewpoint & Display Plane n Perform 3D Clipping n Projection of World onto Display Plane n Perform Hidden Surface Removal n Determine Display Colors n Rasterization of 2D Display *Rendering order may be changed based on algorithms involved! Classical and General Viewing 2 Viewing n Process for “Seeing” a world n Projection of a 3D world onto a 2D plane n Synthetic Camera Model Viewing Issues n Location of viewer n Location of view plane n What can be seen (Clipping) n How relationships are maintained – Parallel Lines – Angles – Distances (Foreshortening) – Relation to Viewer 3 Objects vs. Scenes n Some viewing techniques better suited for viewing single objects rather than entire scenes n Viewing an object from the outside (external viewing) – Engineering, External Buildings n Viewing an object from within (internal viewing) – Internal Buildings, Games Definitions n Projection: a transformation that maps from a higher dimensional space to a lower dimensional space (e.g. 3D->2D) n Center of projection (CoP): the position of the eye or camera with respect to which the projection is performed (also eye point, camera point, proj. reference point) n Projection plane: in a 3D->2D projection, the plane to which the projection is performed (also view plane) 4 Projectors n Projectors: lines from coordinate in Original Space to coordinate in Projected Space A A Projectors B Projectors A' B A' Projection B' Plane Projection B' Plane Center of Projection at Center of Infinity (Direction of Projection Projection) Perspective: Distance to CoP Parallel: Distance to CoP is is finite infinite Planar Geometric Projections n Projection onto a plane n Projectors are straight lines n Alternatives: – Some Cartographic Projections – Omnimax 5 Center of Projection Perspective View Parallel View Viewing Classification – Planar Geometric Projections – Parallel – Perspective n One-Point n Orthographic – Top (Plan) n Two-Point – Front n Three-Point – Side – Axonometric n Isometric n Dimetric n Trimetric n Oblique – Cabinet – Cavalier – Other 6 Projections Planar Geometric Projections Parallel Perspective One-point Orthographic Oblique Top Two-point (Plan) Cabinet Three-point Front Cavalier elevation Side Other elevation Axonometric Other Parallel Projections n Orthographic: Direction of projection is orthogonal to the projection plane – Elevations: Projection plane is perpendicular to a principal axis n Front n Top (Plan) n Side – Axonometric: Projection plane is not orthogonal to a principal axis – Isometric: Direction of projection makes equal angles with each principal axis. n Oblique: Direction of projection is not orthogonal to the projection plane; projection plane is normal to a principal axis – Cavalier: Direction of projection makes a 45° angle with the projection plane – Cabinet: Direction of projection makes a 63.4° angle with the projection plane 7 Parallel Projections: Orthographic Projections n Parallel Projectors Perpendicular to Projection Plane n Special Case of Perspective Projection Orthographic Projections: Multiview n Classical Drafting Views n Preserves both distance and angles n Suitable to Object Views, not scenes n Front-Elevation n Projection Plane Parallel to Principle Faces n Top or Plan-Elevation n Side-Elevation 8 Orthographic Projections: Axonometric Projections n Projection plane can have any orientation to object Axonometric Projections n Isometric – Symmetric to three faces n Dimetric – Symmetric to two faces n Trimetric – General Axonometric case 9 Axonometric Projections Cont. n Foreshortening: – Length is shorter in image space than an object space – Uniform Foreshortening – (As opposed to perspective projections where foreshortening is dependent on distance from object to COP n Parallel lines preserved n Angles are not preserved Oblique Projections n Parallel Projections not Perpendicular to Projection Plane 10 Oblique Projection Types n Cavalier – 45-degree Angles from Projection Plane n Cabinet – Arctan(2) or 63.4-degree Angles from Projection Plane Perspective Projections n One-point: – One principal axis cut by projection plane – One axis vanishing point n Two-point: – Two principal axes cut by projection plane – Two axis vanishing points n Three-point: – Three principal axes cut by projection plane – Three axis vanishing points 11 Perspective Projections n First discovered by Donatello, Brunelleschi, and DaVinci during Renaissance n Objects closer to viewer look larger n Parallel lines appear to converge to single point Perspective Projection n In the real world, objects exhibit perspective foreshortening: distant objects appear smaller n The basic situation: 12 Perspective Projection n When we do 3-D graphics, we think of the screen as a 2-D window onto the 3-D world: How tall should this bunny be? Perspective Views n Objects further away look smaller n Natural look n Length is not preserved – Foreshortening of lines depends on distance from viewer 13 Perspective Projections Vanishing Points n Perspective Projection of any set of parallel line (not perpendicular to the projection plane) converge to a vanishing point n Infinity of vanishing points – one of each set of parallel lines 14 Axis Vanishing Points n Vanishing point of lines parallel to one of the three principal axes n There is one axis vanishing point for each axis cut by the projection plane n At most, 3 such points n Perspective Projections are categorized by number of axis vanishing points (x, y, z) One-Point Projection (x, y, z) +Z Center of Projection on the negative z- (xproj, yproj, 0) axis with viewplane in the x-y plane. xprojected = xd/(d+z) = x/(1+(z/d)) yprojected = yd/(d+z) = y/(1+(z/d)) (0, 0, -d) -Z é1 0 0 0ùéxù é x ù éx /(1+ (z / d))ù ê0 1 0 0úêyú ê y ú êy /(1+ (z / d))ú ê úê ú = ê ú = ê ú ê0 0 0 0úêzú ê 0 ú ê 0 ú ê úê ú ê ú ê ú ë0 0 1/ d 1ûë1û ë1+ (z / d)û ë 1 û 15 Another One-Point Projection +Z Center of Projection at the origin with view plane parallel to the x-y plane a distance d from the origin. xprojected = dx/z = x/(z/d) -Z yprojected = dy/z = y/(z/d) é1 0 0 0ùéxù é x ù éx /(z / d)ù ê0 1 0 0úêyú ê y ú êy /(z / d)ú ê úê ú = ê ú = ê ú ê0 0 1 0úêzú ê z ú ê d ú ê úê ú ê ú ê ú ë0 0 1/ d 0ûë1û ëz / d û ë 1 û Mper Points plotted are x/w, y/w where w = z/d Specifying An Arbitrary 3-D View n Two coordinate systems – World reference coordinate system (WRC) – Viewing reference coordinate system (VRC) n First specify a view plane and coordinate system (WRC) – View Reference Point (VRP) – View Plane Normal (VPN) – View Up Vector (VUP) n Specify a window on the view plane (VRC) – Max and min u,v values (Center of the window (CW)) – Projection Reference Point (PRP) – Front (F) and back (B) clipping planes (hither and yon) 16 Synthetic Camera Model Synthetic Camera Model 17 Camera Analogy n 3D is just like taking a photograph (lots of photographs!) viewing volume camera tripod model Camera 18 Camera Projection Camera Analogy and Transformations n Projection transformations – adjust the lens of the camera n Viewing transformations – tripod–define position and orientation of the viewing volume in the world n Modeling transformations – moving the model n Viewport transformations – enlarge or reduce the physical photograph 19 Coordinate Systems and Transformations n Steps in Forming an Image – specify geometry (world coordinates) – specify camera (camera coordinates) – project (window coordinates) – map to viewport (screen coordinates) n Each step uses transformations n Every transformation is equivalent to a change in coordinate systems (frames) Projection Specification 20 Projection Characteristics n Camera/Viewpoint Location n Camera/Viewpoint Direction n Camera/Viewpoint Orientation n Camera/Viewpoint Lens (View Volume) – Width/Height of Lens – Front/Back Clipping Planes n Parallel or Perspective Projections – Parallel is special case of Perspective OpenGL Camera or Projection Coordinates y Visible Objects in the -z direction x Display Plane centered at (0,0,0) z 21 Specifying Viewing Characteristics n Fixed Camera / Move World n “Look At” n View Volume / Display Plane Specification n Vector Specification Camera Location Relative to World Coordinates n Can be thought of in two ways: – Camera location is specified in world coordinates – World coordinate frame is located in camera coordinates n Camera transformations are reverse of World transformations 22 Fixed Camera / Move World n Fix the camera at a specific location/orientation n Transform the world such that the camera sees the world the “right” way – I.e., move the world, not the camera n Typical approach for OpenGL “Look At” n Setup the camera to “Look At” the world n Set the camera location n Set the “look at” point n Set the camera rotation angle n Example: gluLookAt 23 View Volume / Display Plane Specification n Specify View Volume and Display Plane Viewing Volume Far Clipping Plane Near Clipping Plane Projection Plane Fun with View Volumes n All projection information is captured in view volume and projection plane. n What happens if we play with these values? – Oblique Parallel Projections – Non-Right Frustum Perspective Projections n View Volume Values – Box Back Clipping Plane n Lower-Left Corner/Upper Right Corner of back and front planes n Back Plane Angles/Front Plane Angles View – Projection Plane Plane n Lower-Left Corner/Upper-Right Corner Front Clipping n Angle Plane n Location Relative to View Volume 24 Vector Specification n Most flexible method of viewing specification n View plane may be anywhere with respect to the world n Locate the View Plane (I.e.
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 .
    [Show full text]
  • 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 º « » «
    [Show full text]
  • 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
    [Show full text]
  • 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.
    [Show full text]
  • 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퐑ퟐ … .
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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
    [Show full text]
  • 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
    [Show full text]
  • 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 .
    [Show full text]