A fast real-time back-face culling approach

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "A fast real-time back-face culling approach"

Transcription

1 A fast real-time back-face culling approach Vadim Manvelyan Advisor: Dr. Norman Badler April

2 Abstract Three-dimensional graphics has been an area of interest in computer science for the past 40 years. As computational speed increased, so did the importance of real-time 3D rendering systems. Nowadays, they are primarily used in CAD, training simulators and computer games. Hence, there is a mass-market demand for the ability to render increasingly complex 3D scenes. Increased power however does not mean there is enough of it to waste. 3D scenes that could be considered photo-realistic are normally rendered offline, with powerful render farms taking many hours per frame. It is still important to optimize in order to increase detail in a real-time scene painlessly and get one step closer to photorealism. I tried to come up with and evaluate an efficient method of backface culling that minimizes both the required calculations and memory bandwidth, thus allowing for more complex objects in a real-time scene. 1. Related Work There does not seem to be a lot of work done on the subject matter. As far as real-time rendering goes, the only published alternative to the brute force approach is the per-triangle visibility checking [1], optimized by Levi et al [2]. Brute force approach is just that send all the triangles comprising a mesh to the graphics card and let it cull the invisible ones (back-facing or outside the field of view). Its advantages are the ease of implementation and completeness. Disadvantages include clogging the graphics subsystem memory bandwidth, increased load on the GPU to sort out the unseen faces, and, finally, traversing a large volume of system memory hence the potential for cache misses is higher. Visibility checking via dot product of the view vector and the triangle s normal is an improvement over the brute force approach [1]. The algorithm possesses both precision and completeness all (and only) the visible triangles are sent to the GPU. Disadvantages are the need to create a view vector and perform a dot product calculation on a per-triangle basis, as well as fetching every single triangle from the memory in order to do so, increasing the probability of cache misses. As the complexity of models, and thus the number of faces they are constructed of, increases, this method loses its advantages. Levi et al. improved upon this algorithm by introducing a more compact data structure. However, their approach is still O(number of triangles) [2]. 2. Technical approach The problem with all of the above is that they operate on a per triangle basis, which has the potential of choking even fast CPUs in the front-end phase. The natural next step seems to find a way to discard sets of triangles at a time. The greater percentage of triangles can be discarded per computation effort, the more efficient the algorithm would be not only there

3 will be less computation per se, there will be less memory reads as well (if we know that triangles 50 to 75 are not to be rendered, we are not going to fetch them from memory). My approach is as follows. Imagine a 3D mesh bounded in a sphere. No matter where in the scene the camera is, exactly one hemisphere will be facing it (disregard view vector for now the camera potentially can see at most half of any sphere at any time, no matter how it is oriented). If we somehow subdivide the sphere, assign the mesh s faces to the subdivisions, and calculate the visible hemisphere, all polygons belonging to the invisible back hemisphere can be discarded at once. All the polygons belonging to the visible hemisphere can be rendered, without per triangle calculations. (Occlusion culling among triangles of the same object is generally left to the video card, and no backface culling algorithm implements it). Figure 1 Therefore, subdivide the sphere into sectors via meridians and parallels just like the Earth s surface and assign sets of triangles to each sector. A triangle belongs to a set if and only if a radius parallel to its normal, intersects the sphere surface in that sector (Figure 1). So, if the spherical angular difference between meridians and parallels is 10 degrees, a normal intersecting the sphere at angular coordinates (8, 4) belongs to the first sector, and so on. A seeming issue with this approach is the fact that we draw the normals from the center of the sphere, not from actual triangles. However, for convex objects, it makes no difference. The issues with concave objects will be discussed in the corresponding section. So, algorithm proceeds as follows: it is given a mesh and an angle D, representing deviation between meridians and parallels. First, a matrix of pointers, of [180/D][360/D] size, is created. The pointers address the lists of triangles whose normals map to particular sectors. Going through the triangles in the mesh, it determines the (azimuth, zenith) spherical coordinates of the point where the normal, drawn from the center of the sphere, intersects the sphere surface. Based on those numbers, a triangle is assigned to a certain list, as discussed before.

4 When rendering: if the object is in the view frustum, a vector is drawn from the bounding sphere center to the camera s location in space. The sector through which the vector passes becomes the center of the visible hemisphere. All faces whose normals deviate no more than 90 degrees from this vector in either azimuth or zenith are to be rendered. But we already have lists of triangles sorted by sectors of the sphere they project to. We just take the sector this vector belongs to, and make it a center of a (180/D+1)-by-(180/D+1) render matrix. (That is, mark a square of pointers centered at this sector as to be rendered ). Creating the render matrix is O(180/D * 360/D). Note that the span is 90 degrees from the borders of the central sector, so there is a slight overcompensation in case the view vector falls right on the border of the central sector. For D = 5 deg, the overcompensation is (180/5 + 1)^2 / (180/5)^2 100% = 37^2 / 36^2 100% = 5.6%. For D = 10 deg, it s 11%. Note: that s 5.6% and 11% relative to the visible hemisphere. So in reality, with D = 10, this algorithm spends 55.5% of the time and memory bandwidth the brute force approach would take, plus the O(648) overhead. Figure 2 shows a 2D abstraction of this approach, Figure 3 shows how it works in 3D. The central sector is shown in orange, rendered sectors are blue, and discarded ones white. Figure 2 Figure 3

5 An interesting point is that in most cases, only the position of the camera relative to the bounding sphere center is relevant, not the camera s view vector. While it seems counterintuitive, rotating the camera about itself does not change the set of visible sectors. The world merely rotates about the camera location point in space, and so does the mesh, the camera-to-sphere-center vector, and the central sector. This does not always apply to concave objects view vector may matter in some cases. Also, there is one degenerate case where position vector alone fails to provide the correct result. See the Problems section for more information. 3. Problems The main issue is that this algorithm is incomplete. Incompleteness manifests itself in 2 cases: 1) The object is concave. Figure 4 If sectors are discarded based on the eye position only, the algorithm will not be able to process concave objects. In Figure 4, faces A and D do not project to the visible hemisphere and are discarded, even if the camera faces them. This problem would only arise if the eye is very close to the object, or inside it. There are several ways around this problem. One would be incorporating the view vector into the algorithm based on the distance to the object, relative to the bounding sphere radius. Another is to switch to a different culling method as the camera gets close (it should not introduce too much of a performance hit since the camera is so close to the object, most of the scene is occluded and not rendered anyway, so there is performance to spare). Finally, the mesh may be

6 broken up into convex subsets, each with its own center and rendermap. None were implemented or tested. 2) When the camera looks over a pole, sometimes not enough sectors are rendered. Figure 5 In Figure 5, everything works as it should (the eye is in the plane of the page). Figure 6 In Figure 6, everything to the right of the slanted red line should be rendered. However, as the camera moved far away, the central sector changed. The view vector, however, did

7 not. Because projection of a line onto an inclined sphere will get farther from the axis meridian as it moves up the latitude to the pole, the span covering the visible surface should include more sectors. Since the algorithm does not calculate this projection explicitly, yellow sectors do not get rendered. An easy workaround is corner smoothing : identify corners in the render matrix and fill them with 1 s: becomes I chose to go with this simple solution since the math required to project the hemispherebounding line onto a spherical surface (and thus determine which sectors are borderline ones) is nontrivial and time-consuming, while my primary goal is to cut down on computation time. Corner smoothing works well, and does not introduce a huge performance hit. E.g. with 10 degree sectors, there are 648 sectors in total, and 361 are usually rendered. Adding 3 sectors per corner (there are only 2 corners they are introduced by looking over a pole of the bounding sphere) brings that number to 367 an increase of less than 2%. More than 3 sectors per corner may be added as well. However, since the problem is only evident when the eye is far away (so that the central sector is close to the equator otherwise, we get a situation like in Figure 5), ultimate precision is not needed, so extra sectors may not be necessary. Corner smoothing is O(constant). There is yet another fix. This algorithm is primarily intended for non-animated objects (at least in the present form) e.g. buildings, terrain features, etc., and allows additional polygon budget to be spent there without a performance hit. Simply rotating the bounding sphere 90 degrees, so that its polar axis is laying on the ground, eliminates the problem of looking over the pole the terrain surface prevents it. For e.g. buildings in a strategy game, this may be an optimal solution (Figure 7). Figure 7

8 4. Performance There are two points of interest: how my approach compares to others, and what is the optimal polygon count to sector angle ratio. Table 1 shows that my approach provides notably better absolute performance than the brute force rendering. It also scales better with increasing scene complexity. The actual number of triangles/sec rendered by the brute force approach is 4,498,200 triangles in the simplest scene to 4,048,380 in the most complex one a decrease in efficiency of 10%. In contrast, my method achieves 192,780*43 = 8,289,540 triangles in the most complex scene versus 7,068,600 in the simplest scene (with 5-degree sectors) an efficiency increase of 17%. It also seems that having sectors spanning less than 5 degrees will not gain any more performance. The naïve dot product approach that I implemented scored at most 20% better than brute force rendering, also suffering from dropping efficiency in complex scenes. According to Levi et al. [2] their optimized dot-product visibility checking provides about 20% increase over the naïve dot product checking (non-simd-optimized), which gives at Frames per Second vs. Scene Complexity Number of Triangles in the Scene Degree Sectors 10 Degree Sectors 15 Degree Sectors 30 Degree Sectors Brute Force fps Table 1 most 40% over brute force rendering. My algorithm looks very competitive, given that I did not implement any processor-specific optimizations (SIMD, etc.), with the performance increase of 57% to 105%. The camera motion through the scene was hard-coded, and while the scores from one run to another are not identical, these results are repeatable within 1-2%. Investigating the optimal sector angle to mesh complexity relationship, I rendered a number of spheres (I chose spheres since they produce uniform sector lists, and therefore approximate an average real-world model nicely) of varying polygon count. 6 spheres of 10,620 triangles

9 each (63,720 total triangles) and 3 spheres of 21,420 triangles each (64,260 total triangles) were rendered. The results are in Table 2. Note that the number of triangles/sector distributes as follows (approximate numbers): 10,620-triangle sphere 21,420-triangle sphere 5 degrees 10 degrees 15 degrees 30 degrees Performance is extremely close, virtually within the margin of error. The only conclusive win is scored by 3 heavier spheres (despite A slight disadvantage in the number of polygons) in the 5-degree sectors mode. This is most likely explained by less rendermap setup overhead (3 versus 6 per frame), since with 5-degree sectors, the rendermap overhead is considerable. Overall, though, it seems that closer approximation and therefore less rendered backfaces is more important for performance than longer triangle lists in the rendermap. I would recommend 5-10 degree sector angles for most real-time uses in the foreseeable future. Sector Angle vs. Model Polygon Count 30 deg Sector Angle 15 deg 10 deg triangle spheres triangle spheres 5 deg fps Table 2 5. Conclusion and Further work My goal was to investigate whether the approach I came up with is at all useful and deserves pursuing further. It seems so. Even in its present, quite naïve form, it provides significant performance gain over brute force rendering (or dot-product visibility checking, for that matter). Ease of implementation is another plus. If used in computer games, it could allow for more detail where game artists usually economize e.g. terrain features, buildings, trees without incurring a dramatic performance hit.

10 What else could be done to make this algorithm faster and more versatile? 1) Make the algorithm provably complete (incorporate awareness of concave objects) 2) Modify it to allow for animated meshes 3) As it stands now, the lists referred to by the rendermap matrix contain stand-alone triangles. A new data structure allowing for triangle strips could speed up rendering considerably. It should be able to identify the strips in the sector (not all triangles in the sector s list have to be adjacent) and across sectors, as well as cut the multi-sector strips efficiently as the camera is rotated around the object and sectors get discarded seems quite non-trivial. Also, that would probably require relying on singleton vertices rather than triangles, which would bring memory advantages.

11 6. References [1] Jeff Weeks, 3D Backface Culling [2] O. Levi, R. Zohar, H. Barad, A. Klimovitski, A Compact Method for Backface Culling

INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

More information

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Deferred Shading. Shawn Hargreaves

Deferred Shading. Shawn Hargreaves Deferred Shading Shawn Hargreaves Overview Don t bother with any lighting while drawing scene geometry Render to a fat framebuffer format, using multiple rendertargets to store data such as the position

More information

Architecture of a Graphics Pipeline. 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University

Architecture of a Graphics Pipeline. 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University Architecture of a Graphics Pipeline 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University Review last time Visual computing: Computer graphics and image analysis Objectives of visual computing

More information

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. B2.53-R3: COMPUTER GRAPHICS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF ANSWER

More information

Waves and Modern Physics PHY Spring 2012

Waves and Modern Physics PHY Spring 2012 Waves and Modern Physics PHY 123 - Spring 2012 1st Midterm Exam Wednesday, February 22 Chapter 32 Light: Reflec2on and Refrac2on Units of Chapter 32 Today we will cover: The Ray Model of Light Reflection;

More information

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

1.7 Cylindrical and Spherical Coordinates

1.7 Cylindrical and Spherical Coordinates 56 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE 1.7 Cylindrical and Spherical Coordinates 1.7.1 Review: Polar Coordinates The polar coordinate system is a two-dimensional coordinate system in which the

More information

Whither does the Sun rove?

Whither does the Sun rove? Whither does the Sun rove? Alejandro Gangui, IAFE/Conicet and University of Buenos Aires, Argentina If one asked some friends where on the horizon they should expect to see the sunrise, half of the answers

More information

SNOWMAN ANIMATION PROJECT SET-UP

SNOWMAN ANIMATION PROJECT SET-UP SNOWMAN ANIMATION PROJECT SET-UP - File Project New - In the New Project Dialog box (pictured right), Name: SNOWMAN Location: Select your Quarter 4 folder. Click Use Defaults at the bottom of the menu.

More information

P222. Optics Supplementary Note # 3: Mirrors Alex R. Dzierba Indiana University. θ θ. Plane Mirrors

P222. Optics Supplementary Note # 3: Mirrors Alex R. Dzierba Indiana University. θ θ. Plane Mirrors P222 Optics Supplementary Note # 3: Mirrors Alex R. Dzierba Indiana University Plane Mirrors Let s talk about mirrors. We start with the relatively simple case of plane mirrors. Suppose we have a source

More information

Realtime 3D Computer Graphics Virtual Reality. Graphics

Realtime 3D Computer Graphics Virtual Reality. Graphics Realtime 3D Computer Graphics Virtual Reality Graphics Computer graphics 3D-Computer graphics (3D-CG) currently used for Simulators, VR, Games (real-time) Design (CAD) Entertainment (Movies), Art Education

More information

Distributed Area of Interest Management for Large-Scale Immersive Video Conferencing

Distributed Area of Interest Management for Large-Scale Immersive Video Conferencing 2012 IEEE International Conference on Multimedia and Expo Workshops Distributed Area of Interest Management for Large-Scale Immersive Video Conferencing Pedram Pourashraf ICT Research Institute University

More information

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA Shader Model 3.0, Best Practices Phil Scott Technical Developer Relations, EMEA Overview Short Pipeline Overview CPU Bound new optimization opportunities Obscure bits of the pipeline that can trip you

More information

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex

More information

Chapter 25. The Reflection of Light: Mirrors

Chapter 25. The Reflection of Light: Mirrors Chapter 25 The Reflection of Light: Mirrors 25.1 Wave Fronts and Rays A hemispherical view of a sound wave emitted by a pulsating sphere. The rays are perpendicular to the wave fronts. 25.1 Wave Fronts

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

Polygon Scan Conversion and Z-Buffering

Polygon Scan Conversion and Z-Buffering Polygon Scan Conversion and Z-Buffering Rasterization Rasterization takes shapes like triangles and determines which pixels to fill. 2 Filling Polygons First approach:. Polygon Scan-Conversion Rasterize

More information

Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings

Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings By Wayne and Cheryl Renshaw. Although it is centuries old, the art of street painting has been going through a resurgence.

More information

Collision detection between moving objects using uniform space subdivision

Collision detection between moving objects using uniform space subdivision Collision detection between moving obects using uniform space subdivision Smilan Šinur smilan.sinur@uni-mb.si Laboratory for Geometric Modelling and Multimedia Algorithms Institute of Computer Science

More information

Chapter 14: Production Possibility Frontiers

Chapter 14: Production Possibility Frontiers Chapter 14: Production Possibility Frontiers 14.1: Introduction In chapter 8 we considered the allocation of a given amount of goods in society. We saw that the final allocation depends upon the initial

More information

Render your tests with your master camera at low-res and do your lighting, posing, texturing as usual.

Render your tests with your master camera at low-res and do your lighting, posing, texturing as usual. Render your tests with your master camera at low-res and do your lighting, posing, texturing as usual. For all of you Lightwave users that need to find an easier way of rendering those high resolution

More information

1. Abstract 2. Introduction 3. Algorithms and Techniques

1. Abstract 2. Introduction 3. Algorithms and Techniques MS PROJECT Virtual Surgery Piyush Soni under the guidance of Dr. Jarek Rossignac, Brian Whited Georgia Institute of Technology, Graphics, Visualization and Usability Center Atlanta, GA piyush_soni@gatech.edu,

More information

not to be republished NCERT Latitude, Longitude and Time Chapter 3

not to be republished NCERT Latitude, Longitude and Time Chapter 3 26 Chapter 3 Latitude, Longitude and Time THE EARTH is nearly a sphere. It is because of the fact that the equatorial radius and the polar radius of the earth is not the same. The rotation of the earth

More information

CS 314: Lights, More Shading, Recursive Raytracing

CS 314: Lights, More Shading, Recursive Raytracing CS 314: Lights, More Shading, Recursive Raytracing Robert Bridson October 21, 2008 1 Normals in Diffuse Shading Last time we finished with the basic formula for diffuse (or matte, or Lambertian) shading:

More information

Cabri Geometry Application User Guide

Cabri Geometry Application User Guide Cabri Geometry Application User Guide Preview of Geometry... 2 Learning the Basics... 3 Managing File Operations... 12 Setting Application Preferences... 14 Selecting and Moving Objects... 17 Deleting

More information

It bends away from the normal, like this. So the angle of refraction, r is greater than the angle of incidence, i.

It bends away from the normal, like this. So the angle of refraction, r is greater than the angle of incidence, i. Physics 1403 Lenses It s party time, boys and girls, because today we wrap up our study of physics. We ll get this party started in a bit, but first, you have some more to learn about refracted light.

More information

Raycasting polygonal models

Raycasting polygonal models Chapter 9 Raycasting polygonal models A polygonal model is one in which the geometry is defined by a set of polygons, each specified by the D coordinates of their vertices. For example, the cube to the

More information

CSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture #3: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Project 1 due Friday September 30 th, presentation

More information

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007 Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

More information

SDC. Schroff Development Corporation WWW.SDCACAD.COM PUBLICATIONS. MultiMedia CD by Jack Zecher

SDC. Schroff Development Corporation WWW.SDCACAD.COM PUBLICATIONS. MultiMedia CD by Jack Zecher MultiMedia CD by Jack Zecher An audioi/visual presentation of the tutorial exercises SDC PUBLICATIONS Schroff Development Corporation WWW.SDCACAD.COM AutoCAD 2002 Tutorial 2-1 Lesson 2 Geometric Construction

More information

Advanced Rendering for Engineering & Styling

Advanced Rendering for Engineering & Styling Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :

More information

Axis of a coordination grid either of the two numgber lines used to form a coordinate grid. Plural is axes.

Axis of a coordination grid either of the two numgber lines used to form a coordinate grid. Plural is axes. Axis of a coordination grid either of the two numgber lines used to form a coordinate grid. Plural is axes. Base Line a line or number used as a base for measurement or comparison An average man, 6 feet

More information

Game Maker Tutorial Adding Depth to Games Written by Mark Overmars

Game Maker Tutorial Adding Depth to Games Written by Mark Overmars Game Maker Tutorial Adding Depth to Games Written by Mark Overmars Copyright 2007 YoYo Games Ltd Last changed: February 23, 2007 Uses: Game Maker7.0, Pro Edition, Advanced Mode Level: Intermediate Real

More information

Advanced Surveying. Chapter- 3 FIELD ASTRONOMY

Advanced Surveying. Chapter- 3 FIELD ASTRONOMY Advanced Surveying Chapter- 3 FIELD ASTRONOMY Scope of Study 1. Introduction 2. Purposes 3. Astronomical terms 4. Latitude and Longitude 5. Spherical Trigonometry 6. Celestial coordinate system 7. Examples

More information

Intersection of an Oriented Box and a Cone

Intersection of an Oriented Box and a Cone Intersection of an Oriented Box and a Cone David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: January 4, 2015 Contents 1 Introduction

More information

G302 Review of Maps / Topographic Maps

G302 Review of Maps / Topographic Maps G302 Review of Maps / Topographic Maps I. Introduction A. Map- a 2-d, scaled representation of the earth's surface, 1. Model of Earth's Surface 2. Basic functions: to represent horizontal distance, direction,

More information

Impact of Modern OpenGL on FPS

Impact of Modern OpenGL on FPS Impact of Modern OpenGL on FPS Jan Čejka Supervised by: Jiří Sochor Faculty of Informatics Masaryk University Brno/ Czech Republic Abstract In our work we choose several old and modern features of OpenGL

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 7 Transformations in 2-D

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 7 Transformations in 2-D Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 7 Transformations in 2-D Welcome everybody. We continue the discussion on 2D

More information

What You ll See in This Chapter. Word Cloud. Polar Coordinate Space. Fletcher Dunn. Ian Parberry University of North Texas

What You ll See in This Chapter. Word Cloud. Polar Coordinate Space. Fletcher Dunn. Ian Parberry University of North Texas What You ll See in This Chapter Chapter 7 Polar Coordinate Systems Fletcher Dunn Valve Software Ian Parberry University of North Texas 3D Math Primer for Graphics & Game Development This chapter describes

More information

Understanding Spherical Mirrors

Understanding Spherical Mirrors [ Assignment View ] [ Eðlisfræði 2, vor 2007 34. Geometric Optics and Optical Instruments Assignment is due at 2:00am on Wednesday, January 17, 2007 Credit for problems submitted late will decrease to

More information

Orientation to the Sky: Apparent Motions

Orientation to the Sky: Apparent Motions Chapter 2 Orientation to the Sky: Apparent Motions 2.1 Purpose The main goal of this lab is for you to gain an understanding of how the sky changes during the night and over the course of a year. We will

More information

(Refer Slide Time: 1:21)

(Refer Slide Time: 1:21) Introduction to Computer Graphics Dr. Prem Kalra Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 5 Polygon Clipping and Polygon Scan Conversion We have been

More information

Experiment 5: Magnetic Fields of a Bar Magnet and of the Earth

Experiment 5: Magnetic Fields of a Bar Magnet and of the Earth MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Physics 8.02 Spring 2005 Experiment 5: Magnetic Fields of a Bar Magnet and of the Earth OBJECTIVES 1. To examine the magnetic field associated with a

More information

CHAPTER 17 REFLECTION & MIRRORS

CHAPTER 17 REFLECTION & MIRRORS Physics Name Hour Physics Approximate Timeline Students are expected to keep up with class work when absent. CHAPTER 17 REFLECTION & MIRRORS Day Plans for the day Assignments for the day 1 17.1 Reflection

More information

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

Axisymmetry Tutorial. A few representations of simple axisymmetric models are shown below. Axisymmetry Tutorial 6-1 0, 18 28, MPa 0, 12.

Axisymmetry Tutorial. A few representations of simple axisymmetric models are shown below. Axisymmetry Tutorial 6-1 0, 18 28, MPa 0, 12. Axisymmetry Tutorial 6-1 Axisymmetry Tutorial 0, 18 28, 18 0, 12 10 MPa 10 MPa 0, 6 0, 0 4, 0 x = 0 (axis of symmetry) user-defined external boundary 4, 24 12, 24 20, 24 28, 24 This tutorial will illustrate

More information

Stellarium a valuable resource for teaching astronomy in the classroom and beyond

Stellarium a valuable resource for teaching astronomy in the classroom and beyond Stellarium 1 Stellarium a valuable resource for teaching astronomy in the classroom and beyond Stephen Hughes Department of Physical and Chemical Sciences, Queensland University of Technology, Gardens

More information

f = difference/major axis = ~1/300 for earth

f = difference/major axis = ~1/300 for earth Map Projection and Coordinates The shape of the earth Models Sphere with radius of ~6378 km Ellipsoid (or Spheroid) with equatorial radius (semi-major axis) of ~6378 km and polar radius (semi-minor axis)

More information

Exemplar Problems Physics

Exemplar Problems Physics Chapter Eight GRAVITATION MCQ I 8.1 The earth is an approximate sphere. If the interior contained matter which is not of the same density everywhere, then on the surface of the earth, the acceleration

More information

1 of 9 2/9/2010 3:38 PM

1 of 9 2/9/2010 3:38 PM 1 of 9 2/9/2010 3:38 PM Chapter 23 Homework Due: 8:00am on Monday, February 8, 2010 Note: To understand how points are awarded, read your instructor's Grading Policy. [Return to Standard Assignment View]

More information

Team CoeBotics Seattle, WA USA Robot Engineering Overview

Team CoeBotics Seattle, WA USA Robot Engineering Overview Team CoeBotics Seattle, WA USA Robot Engineering Overview Robot Strategy Simple effective mission strategy: Go for easy to reach targets - missions that always score versus going for everything, but accruing

More information

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang Introduction Computer Graphics Instructor: Yung-Yu Chuang ( 莊 永 裕 ) E-mail: c@csie.ntu.edu.tw Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og Yung-Yu Chuang

More information

Chapter 17 Light and Image Formation

Chapter 17 Light and Image Formation Chapter 7 Light and Image Formation Reflection and Refraction How is an image in a mirror produced? Reflection and Image Formation In chapter 6 we studied physical optics, which involve wave aspects of

More information

Kinematic chains/skeleton Relative

Kinematic chains/skeleton Relative Review of Tuesday Complex (mechanical) objects consist of components Kinematic chains/skeleton represented as tree Hierarchical modeling facilitates implementation of relative behavior of components Relative

More information

(Refer Slide Time: 00:01:23 min)

(Refer Slide Time: 00:01:23 min) Computer Aided Design Prof. Anoop Chalwa Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 02 Input Output Devices, Raster Graphics Today we will be talking about

More information

Interactive Math Glossary Terms and Definitions

Interactive Math Glossary Terms and Definitions Terms and Definitions Absolute Value the magnitude of a number, or the distance from 0 on a real number line Additive Property of Area the process of finding an the area of a shape by totaling the areas

More information

3D Graphics Hardware Graphics II Spring 1999

3D Graphics Hardware Graphics II Spring 1999 3D Graphics Hardware 15-463 Graphics II Spring 1999 Topics Graphics Architecture Uniprocessor Acceleration Front-End Multiprocessing Pipelined Parallel Back-End Multiprocessing Pipelined Parallel Graphics

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

Surveying Prof. Bharat Lohani Department of Civil Engineering Indian Institute of Technology, Kanpur. Module - 7 Lecture - 2 Levelling and Contouring

Surveying Prof. Bharat Lohani Department of Civil Engineering Indian Institute of Technology, Kanpur. Module - 7 Lecture - 2 Levelling and Contouring Surveying Prof. Bharat Lohani Department of Civil Engineering Indian Institute of Technology, Kanpur Module - 7 Lecture - 2 Levelling and Contouring (Refer Slide Time: 00:22) Welcome to this lecture series

More information

CELESTIAL MOTIONS. In Charlottesville we see Polaris 38 0 above the Northern horizon. Earth. Starry Vault

CELESTIAL MOTIONS. In Charlottesville we see Polaris 38 0 above the Northern horizon. Earth. Starry Vault CELESTIAL MOTIONS Stars appear to move counterclockwise on the surface of a huge sphere the Starry Vault, in their daily motions about Earth Polaris remains stationary. In Charlottesville we see Polaris

More information

Visualization of 2D Domains

Visualization of 2D Domains Visualization of 2D Domains This part of the visualization package is intended to supply a simple graphical interface for 2- dimensional finite element data structures. Furthermore, it is used as the low

More information

Lesson 26: Reflection & Mirror Diagrams

Lesson 26: Reflection & Mirror Diagrams Lesson 26: Reflection & Mirror Diagrams The Law of Reflection There is nothing really mysterious about reflection, but some people try to make it more difficult than it really is. All EMR will reflect

More information

Star Offset Positioning for Polar Axis Alignment. by Frank Barrett 3 rd Edition 9/21/2016

Star Offset Positioning for Polar Axis Alignment. by Frank Barrett 3 rd Edition 9/21/2016 Star Offset Positioning for Polar Axis Alignment by Frank Barrett 3 rd Edition 9/21/2016 Abstract: There are two phases to the polar alignment problem. First, one must quantify the alignment error for

More information

Stereographic projections

Stereographic projections Stereographic projections 1. Introduction The stereographic projection is a projection of points from the surface of a sphere on to its equatorial plane. The projection is defined as shown in Fig. 1. If

More information

Welcome to Lesson 3. It is important for a GIS analyst to have a thorough understanding of map projections and coordinate systems.

Welcome to Lesson 3. It is important for a GIS analyst to have a thorough understanding of map projections and coordinate systems. Welcome to Lesson 3. It is important for a GIS analyst to have a thorough understanding of map projections and coordinate systems. A GIS without coordinates would simply be a database like Microsoft Excel

More information

Today. Appearance of the Sky. Orientation. Motion of sky. Seasons. Precession. Phases of the Moon

Today. Appearance of the Sky. Orientation. Motion of sky. Seasons. Precession. Phases of the Moon Today Appearance of the Sky Orientation Motion of sky Seasons Precession Phases of the Moon The Appearance of the Sky The Local Sky An object s altitude (above horizon) and direction (along horizon) specify

More information

UTM and UPS James R. Clynch 2003

UTM and UPS James R. Clynch 2003 UTM and UPS James R. Clynch 2003 I. Introduction The Universal Transverse Mercator (UTM) projection coordinates occur on most topographic maps. This is the Northing and Easting coordinates discussed below.

More information

The Visualization Simulation of Remote-Sensing Satellite System

The Visualization Simulation of Remote-Sensing Satellite System The Visualization Simulation of Remote-Sensing Satellite System Deng Fei, Chu YanLai, Zhang Peng, Feng Chen, Liang JingYong School of Geodesy and Geomatics, Wuhan University, 129 Luoyu Road, Wuhan 430079,

More information

Curved surfaces and lenses

Curved surfaces and lenses Curved surfaces and lenses (Material taken from: Optics, by E. Hecht, 4th Ed., Ch: 5) One of the important challenges pertaining to the practical aspects of optics is wave shaping, i.e. controlling the

More information

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision

More information

Reflection and Refraction

Reflection and Refraction Equipment Reflection and Refraction Acrylic block set, plane-concave-convex universal mirror, cork board, cork board stand, pins, flashlight, protractor, ruler, mirror worksheet, rectangular block worksheet,

More information

Latitude and Longitudes in Geodesy James R. Clynch February 2006

Latitude and Longitudes in Geodesy James R. Clynch February 2006 Latitude and Longitudes in Geodesy James R. Clynch February 2006 I. Latitude and Longitude on Spherical Earth Latitude and longitude are the grid lines you see on globes. For a spherical earth these are

More information

What is a map? A Map is a two or three-dimensional model or representation of the Earth s surface. 2-Dimensional map

What is a map? A Map is a two or three-dimensional model or representation of the Earth s surface. 2-Dimensional map What is a map? A Map is a two or three-dimensional model or representation of the Earth s surface. 2-Dimensional map Types of Maps: (just a few that we may be using) Political Maps Shows borders of states,

More information

PSS 27.2 The Electric Field of a Continuous Distribution of Charge

PSS 27.2 The Electric Field of a Continuous Distribution of Charge Chapter 27 Solutions PSS 27.2 The Electric Field of a Continuous Distribution of Charge Description: Knight Problem-Solving Strategy 27.2 The Electric Field of a Continuous Distribution of Charge is illustrated.

More information

Module 1 : A Crash Course in Vectors Lecture 2 : Coordinate Systems

Module 1 : A Crash Course in Vectors Lecture 2 : Coordinate Systems Module 1 : A Crash Course in Vectors Lecture 2 : Coordinate Systems Objectives In this lecture you will learn the following Define different coordinate systems like spherical polar and cylindrical coordinates

More information

CELESTIAL CLOCK - THE SUN, THE MOON, AND THE STARS

CELESTIAL CLOCK - THE SUN, THE MOON, AND THE STARS INTRODUCTION CELESTIAL CLOCK - THE SUN, THE MOON, AND THE STARS This is a scientific presentation to provide you with knowledge you can use to understand the sky above in relation to the earth. Before

More information

Paths Between Points on Earth: Great Circles, Geodesics, and Useful Projections

Paths Between Points on Earth: Great Circles, Geodesics, and Useful Projections Paths Between Points on Earth: Great Circles, Geodesics, and Useful Projections I. Historical and Common Navigation Methods There are an infinite number of paths between two points on the earth. For navigation

More information

Shortest Path Algorithms

Shortest Path Algorithms Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

More information

3D Distance from a Point to a Triangle

3D Distance from a Point to a Triangle 3D Distance from a Point to a Triangle Mark W. Jones Technical Report CSR-5-95 Department of Computer Science, University of Wales Swansea February 1995 Abstract In this technical report, two different

More information

Pitfalls of Object Oriented Programming

Pitfalls of Object Oriented Programming Sony Computer Entertainment Europe Research & Development Division Pitfalls of Object Oriented Programming Tony Albrecht Technical Consultant Developer Services A quick look at Object Oriented (OO) programming

More information

Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.

Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto. ECE1778 Project Report Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.ca Executive Summary The goal of this project

More information

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations MMGD0203 MULTIMEDIA DESIGN Chapter 3 Graphics and Animations 1 Topics: Definition of Graphics Why use Graphics? Graphics Categories Graphics Qualities File Formats Types of Graphics Graphic File Size Introduction

More information

Earth In Space Chapter 3

Earth In Space Chapter 3 Earth In Space Chapter 3 Shape of the Earth Ancient Greeks Earth casts a circular shadow on the moon during a lunar eclipse Shape of the Earth Ancient Greeks Ships were observed to disappear below the

More information

CS 4620 Practicum Programming Assignment 6 Animation

CS 4620 Practicum Programming Assignment 6 Animation CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key

More information

Chapter 23. The Reflection of Light: Mirrors

Chapter 23. The Reflection of Light: Mirrors Chapter 23 The Reflection of Light: Mirrors Wave Fronts and Rays Defining wave fronts and rays. Consider a sound wave since it is easier to visualize. Shown is a hemispherical view of a sound wave emitted

More information

Unit 6 Geometry: Constructing Triangles and Scale Drawings

Unit 6 Geometry: Constructing Triangles and Scale Drawings Unit 6 Geometry: Constructing Triangles and Scale Drawings Introduction In this unit, students will construct triangles from three measures of sides and/or angles, and will decide whether given conditions

More information

Computer Graphics: Visualisation Lecture 3. Taku Komura Institute for Perception, Action & Behaviour

Computer Graphics: Visualisation Lecture 3. Taku Komura Institute for Perception, Action & Behaviour Computer Graphics: Visualisation Lecture 3 Taku Komura tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour Taku Komura Computer Graphics & VTK 1 Last lecture... Visualisation can be greatly

More information

Chapter 2 Review Clickers. The Cosmic Perspective Seventh Edition. Discovering the Universe for Yourself Pearson Education, Inc.

Chapter 2 Review Clickers. The Cosmic Perspective Seventh Edition. Discovering the Universe for Yourself Pearson Education, Inc. Review Clickers The Cosmic Perspective Seventh Edition Discovering the Universe for Yourself The sky is divided into 88 zones called a) degrees. b) tropics. c) constellations. d) signs. The sky is divided

More information

Ellipsoid and Datum, Projection, Coordinate system, and Map Scale

Ellipsoid and Datum, Projection, Coordinate system, and Map Scale Ellipsoid and Datum, Projection, Coordinate system, and Map Scale Lectures 4 Sept 14, 2006 Why we need it? Earth Shape Models Flat earth models are still used for plane surveying, over distances short

More information

Determination of Focal Length of A Converging Lens and Mirror

Determination of Focal Length of A Converging Lens and Mirror Physics 41- Lab 5 Determination of Focal Length of A Converging Lens and Mirror Objective: Apply the thin-lens equation and the mirror equation to determine the focal length of a converging (biconvex)

More information

H.Calculating Normal Vectors

H.Calculating Normal Vectors Appendix H H.Calculating Normal Vectors This appendix describes how to calculate normal vectors for surfaces. You need to define normals to use the OpenGL lighting facility, which is described in Chapter

More information

White Paper. Cloth Simulation. February 2007 WP-03018-001_v01

White Paper. Cloth Simulation. February 2007 WP-03018-001_v01 White Paper Cloth Simulation February 2007 WP-03018-001_v01 White Paper Document Change History Version Date Responsible Reason for Change _v01 CZ, TS Initial release Go to sdkfeedback@nvidia.com to provide

More information

Hardware design for ray tracing

Hardware design for ray tracing Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex

More information

Specular Reflection" !i =!r" Physics 202 Spring 2010 Lecture 25. Two types of reflection. Reflection from a mirror

Specular Reflection !i =!r Physics 202 Spring 2010 Lecture 25. Two types of reflection. Reflection from a mirror Physics 202 Spring 2010 Lecture 25 Today s topics: reflection and mirrors refraction and lenses Two types of reflection Specular reflection: reflection off a smooth surface Diffuse reflection: reflection

More information

3 Drawing 2D shapes. Launch form Z.

3 Drawing 2D shapes. Launch form Z. 3 Drawing 2D shapes Launch form Z. If you have followed our instructions to this point, five icons will be displayed in the upper left corner of your screen. You can tear the three shown below off, to

More information

Computer Graphics. Lecture 1:

Computer Graphics. Lecture 1: Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

acute angle acute triangle Cartesian coordinate system concave polygon congruent figures

acute angle acute triangle Cartesian coordinate system concave polygon congruent figures acute angle acute triangle Cartesian coordinate system concave polygon congruent figures convex polygon coordinate grid coordinates dilatation equilateral triangle horizontal axis intersecting lines isosceles

More information

Bézier Curves and Splines

Bézier Curves and Splines 6.837 Computer Graphics Bézier Curves and Splines Wojciech Matusik MIT CSAIL vectorportal.com 6.837 Matusik 2 Before We Begin Anything on your mind concerning Assignment 0? Any questions about the course?

More information

Triangulation. Is this always possible for any simple polygon? If not, which polygons are triangulable.

Triangulation. Is this always possible for any simple polygon? If not, which polygons are triangulable. Triangulation Partition polygon P into non-overlapping triangles using diagonals only. Is this always possible for any simple polygon? If not, which polygons are triangulable. Does the number of triangles

More information