Separating Axis Test (SAT) and Support Points in 2D. Randy Gaul Special thanks to Dirk Gregorius for his GDC 2013 lecture and slides
|
|
- Violet Hubbard
- 5 years ago
- Views:
Transcription
1 Separating Axis Test (SAT) and Support Points in 2D Randy Gaul Special thanks to Dirk Gregorius for his GDC 2013 lecture and slides
2 Overview - Separating Axis Test (SAT) Why use SAT Theory Implementation Support Points Implementation
3 Robust Versatile Axis of minimum penetration Penetration distance Contact points Efficient Easy to conceptualize Why use the SAT?
4 SAT Versatility Collision detection is easy Resolving collision is hard Realistic bouncing, stacking Resolution requires: Axis of minimum penetration Penetration distance Contact points SAT can give us all info needed for resolution Gathering this information is called manifold generation
5 Develop Intuition with Circles t r1 r2 d = t (r1 + r2) (r1 and r2 as scalar radii)
6 Develop Intuition with Circles Collision when d is positive No collision when d is negative t r2 r1
7 Develop Intuition with Circles - Axis Projection Separating Axis An axis with separation of projections For circles project onto axis from centers No penetration Penetration
8 SAT - Definition Collision Projections onto all axes are not separating (overlapping) No collision At least one axis contains separating projections Note about No Collision case: Any positive number of axes can be separating
9 Which Axis to Test? A separating axis will always be a face of a polygon Circles have many face normals; just test vector from center to center
10 SAT Algorithm Given two shapes A and B Project A onto face axes of B Record each signed projection overlap Project B onto face axes of A Record each signed projection overlap Return greatest signed distance found Collision if distance is less than zero
11 SAT Implementation (Pseudo Code) float FindLeastPenetration( Polygon A, Polygon B ) { float bestdistance = -FLT_MAX; for(int i = 0; i < A->faceCount; ++i) Vec2 p = A->faces[i]; float d = Project( A, B, p ); } // Store greatest distance if(d > bestdistance) bestdistance = d; return bestdistance; Call twice, flip objects A and B
12 SAT Implementation : Note The largest signed distance will be penetration depth If less than zero then colliding Keep track of face index that supplied penetration depth This face s normal will be resolution vector This face is the axis of minimum penetration // Store greatest distance if(d > bestdistance) bestdistance = d; bestindex = i; return bestdistance AND bestindex;
13 SAT : Optimization Projection is expensive Must transform vertices of both shapes and compute overlap Computing support points is faster Instead of overlap, compute point to line distance Support points act as alternative to actual projections
14 Support Points Vertex of polygon farthest along a given direction Use dot project to compute projected distance Support( dir ) dir
15 Support Points Implementation (Pseudo Code) Vec2 Polygon::GetSupport( const Vec2& dir ) { float bestprojection = -FLT_MAX; Vec2 bestvertex; for(int i = 0; i < vertexcount; ++i) Vec2 v = vertices[i]; real projection = Dot( v, dir ); if(projection > bestprojection) bestvertex = v; bestprojection = projection; } return bestvertex;
16 Optimized Penetration Calculation Distance point to plane: d = n (p1 p2) Support( -n ) p2 : any point along the plane n p1 n p2 p d = n (Support( -n ) p)
17 SAT Collision Test bool SAT( Polygon A, Polygon B ) { if(findleastpenetration( A, B ) > 0.0f) return false; if(findleastpenetration( B, A ) > 0.0f) return false; } return true;
18 Finding Contact Points Point of contact required for resolution At most, two points can be used A B
19 Finding Contact Points : Reference Face Identify reference face Reference face is face with axis of minimum penetration Reference face is always on object A A B Reference face
20 Finding Contact Points : Incident Face To find contact points: Find incident face Incident face most faces axis of minimum penetration A B Incident face
21 Finding Contact Points : Clipping Clip incident face against reference face side planes Use Sutherland-Hodgman clipping (see references) A B
22 Finding Contact Points : Culling Only keep points behind reference face Compute signed distance, test sign (positive or negative) A B
23 Checkpoint Can detect collisions with SAT Understand support points Can optimize SAT with support points Record axis of minimum penetration Normal to this axis is resolution vector Compute contact points with clipping
24 Optimizations If separating axis is found Store this axis, check axis next frame between same two objects Fast early out Can detect if face normals are nearly parallel Testing parallel axes is redundant, don t do it! Can cull redundant axes from both shapes, not just one Hill climbing for Support search Test first vertex and both adjecent Loop in direction with greatest delta Stop searching once delta is positive
25 References Dirk Gregorius s 2013 GDC Slides Box2D.org downloads Box2D source code Patrick Moghames Graphics professor (Sutherland-Hodgman clipping) Impulse Engine randygaul.net All of Erin Catto s GDC Slides Box2D.org
Convex Hull Generation with Quick Hull. Randy Gaul Special thanks to Stan Melax and Dirk Gregorius for contributions on this topic
Convex Hull Generation with Quick Hull Randy Gaul Special thanks to Stan Melax and Dirk Gregorius for contributions on this topic Overview Quick Hull (QHull) Convex Hulls Why use them Computing a Convex
More informationRigid Body Simulation. Jeremy Ulrich Advised by David Mount Fall 2013
Rigid Body Simulation Jeremy Ulrich Advised by David Mount Fall 2013 Overview The project presented here is a real-time 3D rigid body physics engine, and is the result of an Independent Study on collision
More informationA Different Approach for Continuous Physics. Vincent ROBERT Physics Programmer at Ubisoft
A Different Approach for Continuous Physics Vincent ROBERT vincent.robert@ubisoft.com Physics Programmer at Ubisoft A Different Approach for Continuous Physics Existing approaches Our method Limitations
More informationPhysics Tutorial 4: Collision Detection
Physics Tutorial 4: Collision Detection Summary Collision detection is explicitly introduced, and explored in the context of physics simulation. We discuss the two-tiered approach which is typically taken
More informationPainter s HSR Algorithm
Painter s HSR Algorithm Render polygons farthest to nearest Similar to painter layers oil paint Viewer sees B behind A Render B then A Depth Sort Requires sorting polygons (based on depth) O(n log n) complexity
More informationClipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling
Clipping & Culling Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,
More informationPage 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms
Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:
More informationReal-Time Physics Simulation. Alan Hazelden.
Real-Time Physics Simulation Alan Hazelden alan@draknek.org http://www.draknek.org/ Who am I? Studied Computer Science 2005-2009 Warwick Game Design exec member 3rd and 4th year projects: physics engines
More informationCollision detection. Piotr Fulma«ski. 19 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Collision detection Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 19 pa¹dziernika 2015 Table of contents Collision in games Algorithms to detect collision in games depend
More informationComputer Graphics. Lecture 9 Environment mapping, Mirroring
Computer Graphics Lecture 9 Environment mapping, Mirroring Today Environment Mapping Introduction Cubic mapping Sphere mapping refractive mapping Mirroring Introduction reflection first stencil buffer
More informationVisibility and Occlusion Culling
Visibility and Occlusion Culling CS535 Fall 2014 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on those of Benjamin Mora] Why? To avoid processing geometry that does
More informationSung-Eui Yoon ( 윤성의 )
CS380: Computer Graphics Clipping and Culling Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand clipping and culling Understand view-frustum, back-face
More informationTRANSFORMATIONS AND CONGRUENCE
1 TRANSFORMATIONS AND CONGRUENCE LEARNING MAP INFORMATION STANDARDS 8.G.1 Verify experimentally the s, s, and s: 8.G.1.a Lines are taken to lines, and line segments to line segments of the same length.
More informationCollision Detection with Bounding Volume Hierarchies
Simulation in Computer Graphics Collision Detection with Bounding Volume Hierarchies Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volumes BV hierarchies
More informationCollision detection. Piotr Fulma«ski. 1 grudnia
Collision detection Piotr Fulma«ski piotr@fulmanski.pl 1 grudnia 2016 Table of contents Collision in games Algorithms to detect collision in games depend on the type of shapes that can collide (e.g. rectangle
More informationCLASSROOM INVESTIGATION:
MHS CLASSROOM INVESTIGATION: LINEAR PROGRAMMING LEARNING GOALS By completing this lesson you will: Practice establishing systems of inequalities Review graphing half-planes Investigate using a polygon
More informationSimulation (last lecture and this one)
Simulation (last lecture and this one) How used in games? Dynamics Collisions simple ------------------------------- Collisions harder detection bounding boxes response Controllers Mocap + simulation User
More informationLesson 05. Mid Phase. Collision Detection
Lesson 05 Mid Phase Collision Detection Lecture 05 Outline Problem definition and motivations Generic Bounding Volume Hierarchy (BVH) BVH construction, fitting, overlapping Metrics and Tandem traversal
More information8. The triangle is rotated around point D to create a new triangle. This looks like a rigid transformation.
2.1 Transformations in the Plane 1. True 2. True 3. False 4. False 5. True 6. False 7. True 8. The triangle is rotated around point D to create a new triangle. This looks like a rigid transformation. 9.
More informationClassification Using Genetic Programming. Patrick Kellogg General Assembly Data Science Course (8/23/15-11/12/15)
Classification Using Genetic Programming Patrick Kellogg General Assembly Data Science Course (8/23/15-11/12/15) Iris Data Set Iris Data Set Iris Data Set Iris Data Set Iris Data Set Create a geometrical
More informationNotes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment
Notes on Assignment Notes on Assignment Objects on screen - made of primitives Primitives are points, lines, polygons - watch vertex ordering The main object you need is a box When the MODELVIEW matrix
More informationEXAMINATIONS 2017 TRIMESTER 2
EXAMINATIONS 2017 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators
More informationCollision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill
Collision Detection II These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Some Possible Approaches Geometric methods Algebraic techniques Hierarchical
More information4.5 VISIBLE SURFACE DETECTION METHODES
4.5 VISIBLE SURFACE DETECTION METHODES A major consideration in the generation of realistic graphics displays is identifying those parts of a scene that are visible from a chosen viewing position. There
More informationCS602 MCQ,s for midterm paper with reference solved by Shahid
#1 Rotating a point requires The coordinates for the point The rotation angles Both of above Page No 175 None of above #2 In Trimetric the direction of projection makes unequal angle with the three principal
More informationS U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T
S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render
More informationOverview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal
Overview Pipeline implementation I Preliminaries Clipping Line clipping Hidden Surface removal Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives
More informationCSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be
More informationVirtual Environments
ELG 524 Virtual Environments Jean-Christian Delannoy viewing in 3D world coordinates / geometric modeling culling lighting virtualized reality collision detection collision response interactive forces
More informationDistance and Collision Detection
Distance and Collision Detection Efi Fogel efif@post.tau.ac.il School of computer science, Tel Aviv University Fall 2003/4 Motion Planning seminar 1/33 The Papers A Fast Procedure for Computing the Distance
More informationTwo basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations
walters@buffalo.edu CSE 480/580 Lecture 21 Slide 1 Visible-Surface Determination (Hidden Surface Removal) Computationaly expensive Two basic types: image-precision and object-precision For n objects and
More informationSign up for crits! Announcments
Sign up for crits! Announcments Reading for Next Week FvD 16.1-16.3 local lighting models GL 5 lighting GL 9 (skim) texture mapping Modern Game Techniques CS248 Lecture Nov 13 Andrew Adams Overview The
More informationComputer Graphics 7: Viewing in 3-D
Computer Graphics 7: Viewing in 3-D In today s lecture we are going to have a look at: Transformations in 3-D How do transformations in 3-D work? Contents 3-D homogeneous coordinates and matrix based transformations
More information9. Visible-Surface Detection Methods
9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:
More informationCAB: Fast Update of OBB Trees for Collision Detection between Articulated Bodies
CAB: Fast Update of OBB Trees for Collision Detection between Articulated Bodies Harald Schmidl Nolan Walker Ming C. Lin {schmidl walkern lin}@cs.unc.edu Department of Computer Science Sitterson Hall,
More informationContinuous Collision Detection and Physics
Continuous Collision Detection and Physics Erwin Coumans, Sony Computer Entertainment August 2005, Draft revision 5 0 Overview A novel approach to Angular and Linear Continuous Collision Detection is presented.
More informationComputer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo
Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm
More informationCS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18
CS 498 VR Lecture 18-4/4/18 go.illinois.edu/vrlect18 Review and Supplement for last lecture 1. What is aliasing? What is Screen Door Effect? 2. How image-order rendering works? 3. If there are several
More informationComputer Graphics. The Two-Dimensional Viewing. Somsak Walairacht, Computer Engineering, KMITL
Computer Graphics Chapter 6 The Two-Dimensional Viewing Somsak Walairacht, Computer Engineering, KMITL Outline The Two-Dimensional Viewing Pipeline The Clipping Window Normalization and Viewport Transformations
More informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationToday. CS-184: Computer Graphics. Lecture #10: Clipping and Hidden Surfaces. Clipping. Hidden Surface Removal
Today CS-184: Computer Graphics Lecture #10: Clipping and Hidden Surfaces!! Prof. James O Brien University of California, Berkeley! V2015-S-10-1.0 Clipping Clipping to view volume Clipping arbitrary polygons
More informationRenderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1
More informationTriangle Rasterization
Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling
More informationLecture 4. Viewing, Projection and Viewport Transformations
Notes on Assignment Notes on Assignment Hw2 is dependent on hw1 so hw1 and hw2 will be graded together i.e. You have time to finish both by next monday 11:59p Email list issues - please cc: elif@cs.nyu.edu
More informationLecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees
Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public
More informationDynamic Bounding Volume Hierarchies. Erin Catto, Blizzard Entertainment
Dynamic Bounding Volume Hierarchies Erin Catto, Blizzard Entertainment 1 This is one of my favorite Overwatch maps: BlizzardWorld. This is the spawn area inside the Hearthstone Tavern. 2 All the objects
More informationChapter 8: Implementation- Clipping and Rasterization
Chapter 8: Implementation- Clipping and Rasterization Clipping Fundamentals Cohen-Sutherland Parametric Polygons Circles and Curves Text Basic Concepts: The purpose of clipping is to remove objects or
More informationUsing Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects
Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection
More informationComputer Graphics 10 - Shadows
Computer Graphics 10 - Shadows Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Shadows Overview Projective shadows Shadow textures Shadow volume Shadow map Soft
More informationOn-Line Computer Graphics Notes CLIPPING
On-Line Computer Graphics Notes CLIPPING Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis 1 Overview The primary use of clipping in
More informationClipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Clipping 1 Objectives Clipping lines First of implementation algorithms Clipping polygons (next lecture) Focus on pipeline plus a few classic algorithms 2 Clipping 2D against clipping window 3D against
More informationComputer Graphics. Bing-Yu Chen National Taiwan University
Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm
More informationGeometric Computations for Simulation
1 Geometric Computations for Simulation David E. Johnson I. INTRODUCTION A static virtual world would be boring and unlikely to draw in a user enough to create a sense of immersion. Simulation allows things
More informationTomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology
Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology A tool needed for the graphics people all the time Very important components: Need to make them fast! Finding if
More informationCS 112 The Rendering Pipeline. Slide 1
CS 112 The Rendering Pipeline Slide 1 Rendering Pipeline n Input 3D Object/Scene Representation n Output An image of the input object/scene n Stages (for POLYGON pipeline) n Model view Transformation n
More informationNext week will be great!
Next week will be great! Three major things are happening next week: Zynga guest lecture Your game pitches (more details later) Christina Paxson Feedback for M 1 Some of you had stacking shapes The stack
More informationMathematics for Business and Economics - I. Chapter7 Linear Inequality Systems and Linear Programming (Lecture11)
Mathematics for Business and Economics - I Chapter7 Linear Inequality Systems and Linear Programming (Lecture11) A linear inequality in two variables is an inequality that can be written in the form Ax
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationImproved Collision Detection in StarLogo Nova S.B., C.S. MIT, S.B., Math MIT, 2014
Improved Collision Detection in StarLogo Nova by Divya Bajekal S.B., C.S. MIT, 2014 S.B., Math MIT, 2014 Submitted to the Department of Electrical Engineering and Computer Science in Partial Fulfillment
More informationMidterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer
Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer The exam consists of 10 questions. There are 2 points per question for a total of 20 points. You
More informationThe Graphics Pipeline. Interactive Computer Graphics. The Graphics Pipeline. The Graphics Pipeline. The Graphics Pipeline: Clipping
Interactive Computer Graphics The Graphics Pipeline: The Graphics Pipeline Input: - geometric model - illumination model - camera model - viewport Some slides adopted from F. Durand and B. Cutler, MIT
More informationCollisions/Reflection
Collisions/Reflection General Collisions The calculating whether or not two 2D objects collide is equivalent to calculating if the two shapes share a common area (intersect). For general polygons this
More informationRendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to mode
Graphic Pipeline 1 Rendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to model 3D world? How to render them?
More informationHidden-Surface Removal.
Hidden-Surface emoval. Here we need to discover whether an object is visible or another one obscures it. here are two fundamental approaches to remove the hidden surfaces: ) he object-space approach )
More informationStacks API and finding the convex hull. CS Spring 2017
Stacks API and finding the convex hull CS 146 - Spring 2017 Today Collision detection Convex hull Graham scan algorithm DFS traversal The stack API push() pop()
More informationComputer Science 426 Midterm 3/11/04, 1:30PM-2:50PM
NAME: Login name: Computer Science 46 Midterm 3//4, :3PM-:5PM This test is 5 questions, of equal weight. Do all of your work on these pages (use the back for scratch space), giving the answer in the space
More informationPolygonal Meshes: Representing 3D Objects
Polygonal Meshes: Representing 3D Objects Real world modeling requires representation of surfaces Two situations: 1. Model an existing object Most likely can only approximate the object Represent all (most)
More informationCollision Detection and Impulse Dynamics in Real time Applications
Collision Detection and Impulse Dynamics in Real time Applications 1. Abstract Petr Sovis xsovis00@dcse.fee.vutbr.cz Faculty of Electrical Engineering and Computer Science University of Technology Brno
More informationCS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination
CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks) Figure 1: A perspective view of a polyhedron on an infinite plane. Cameras and Perspective Rendering
More informationTutorial 4: Texture Mapping Techniques
Tutorial 4: Texture Mapping Techniques Completion time 40 minutes In the previous tutorial we learned how to create materials, and how to assign texture maps to those materials. In this tutorial we will
More informationHidden surface removal. Computer Graphics
Lecture Hidden Surface Removal and Rasterization Taku Komura Hidden surface removal Drawing polygonal faces on screen consumes CPU cycles Illumination We cannot see every surface in scene We don t want
More informationHardware-driven visibility culling
Hardware-driven visibility culling I. Introduction 20073114 김정현 The goal of the 3D graphics is to generate a realistic and accurate 3D image. To achieve this, it needs to process not only large amount
More informationDuration: 2 hours Max. Marks: 60
I. (a) Determine the number of positive integers n where 1 and n is not divisible by 2 or 3 or. (b) How many integers between 1 and 2000 are divisible by 2, 3, or 7? (c) Let S = {1, 2, 3, 4,, 6, 7, 8,
More informationVANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction
VANSTEENKISTE LEO 2015 G E O M E T RY S H A D E R 2 DAE GD ENG UNFOLD SHADER Introduction Geometry shaders are a powerful tool for technical artists, but they always seem to be used for the same kind of
More informationSection 12.1 Translations and Rotations
Section 12.1 Translations and Rotations Any rigid motion that preserves length or distance is an isometry. We look at two types of isometries in this section: translations and rotations. Translations A
More informationCOMP30019 Graphics and Interaction Scan Converting Polygons and Lines
COMP30019 Graphics and Interaction Scan Converting Polygons and Lines Department of Computer Science and Software Engineering The Lecture outline Introduction Scan conversion Scan-line algorithm Edge coherence
More informationCMPT 117: Tutorial 1. Craig Thompson. 12 January 2009
CMPT 117: Tutorial 1 Craig Thompson 12 January 2009 Administrivia Coding habits OOP Header Files Function Overloading Class info Tutorials Review of course material additional examples Q&A Labs Work on
More information08: CONTACT MODELLING 15/02/2016
08: CONTACT MODELLING 15/02/2016 2 THE NARROW PHASE The purpose of Narrow Phase: Exact collision detection AND also where precisely have objects touched, where to apply forces, torques? Image 2004 Pauly,
More informationDirect Rendering of Trimmed NURBS Surfaces
Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended
More informationHidden Surface Removal
Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Z-buffer Introduction Graphics pipeline Introduction Modeling Geom
More informationCulling. Computer Graphics CSE 167 Lecture 12
Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are
More informationClass of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space.
Utah School of Computing Spring 13 Class of Algorithms Lecture Set Visible Surface Determination CS56 Computer Graphics From Rich Riesenfeld Spring 13 Object (Model) Space Algorithms Work in the model
More informationCS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo)
CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) www.vucybarien.com Question No: 1 What are the two focusing methods in CRT? Explain briefly. Page no : 26 1. Electrostatic focusing
More informationCS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks)
CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks) Cameras and Perspective Figure 1: A perspective view of a polyhedron on an infinite plane. Rendering
More informationPart IV. 2D Clipping
Part IV 2D Clipping The Liang-Barsky algorithm Boolean operations on polygons Outline The Liang-Barsky algorithm Boolean operations on polygons Clipping The goal of clipping is mainly to eliminate parts
More informationComputer Graphics Solved MCQs -Part 2 MCQs Questions
http://itbookshub.com/ Computer Graphics Solved MCQs -Part 2 MCQs Multiple Choice Questions Computer Graphics Solved MCQs -Part 2 Two consecutive scaling transformation s1 and s2 are Additive Multiplicative
More informationPhysics - Collision Detection
Physics - Collision Detection Introduction One of the most important aspects of a realistic physics system is the ability to detect and resolve the collisions that occur between the objects in the simulation
More informationRecall: Indexing into Cube Map
Recall: Indexing into Cube Map Compute R = 2(N V)N-V Object at origin Use largest magnitude component of R to determine face of cube Other 2 components give texture coordinates V R Cube Map Layout Example
More informationProject 1, 467. (Note: This is not a graphics class. It is ok if your rendering has some flaws, like those gaps in the teapot image above ;-)
Project 1, 467 Purpose: The purpose of this project is to learn everything you need to know for the next 9 weeks about graphics hardware. What: Write a 3D graphics hardware simulator in your language of
More informationOutline. Register Allocation. Issues. Storing values between defs and uses. Issues. Issues P3 / 2006
P3 / 2006 Register Allocation What is register allocation Spilling More Variations and Optimizations Kostis Sagonas 2 Spring 2006 Storing values between defs and uses Program computes with values value
More informationFROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU
FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,
More informationCollision Detection between Dynamic Rigid Objects and Static Displacement Mapped Surfaces in Computer Games
between Dynamic Rigid Objects and Static Displacement Mapped Surfaces in Computer Games Author:, KTH Mentor: Joacim Jonsson, Avalanche Studios Supervisor: Prof. Christopher Peters, KTH 26 June, 2015 Overview
More informationName: Unit 7 Beaumont Middle School 8th Grade, Introduction to Algebra
Unit 7 Beaumont Middle School 8th Grade, 2015-2016 Introduction to Algebra Name: I can recognize and create reflections on a coordinate grid. I can recognize and create translations on a coordinate grid.
More informationGeometric Transformations: Translation:
Geometric Transformations: Translation: slide Reflection: Rotation: Dialation: mirror turn enlarge or reduce Notation: Pre-Image: original figure Image: after transformation. Use prime notation C A B C
More informationComputer Graphics II
Computer Graphics II Autumn 2018-2019 Outline 1 Transformations Outline Transformations 1 Transformations Orthogonal Projections Suppose we want to project a point x onto a plane given by its unit-length
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie
More informationFast tetrahedron-tetrahedron overlap algorithm
Fast tetrahedron-tetrahedron overlap algorithm F. Ganovelli, F. Ponchio and C. Rocchini August 11, 2002 Abstract We present an algorithm to test two tetrahedra for overlap. The algorithm is based on a
More informationMore Hidden Surface Removal
Lecture 8 More Hidden Surface Removal Efficient Painter - binary space partition (BSP) tree Efficient Ray Casting - spatial partitioning (uniform, octrees) - bounding volumes Recall last lecture... front
More informationSpatial Data Structures
CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration
More informationAcknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.
Shadows Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.com Practical & Robust Stenciled Shadow Volumes for Hardware-Accelerated
More information