Geometric Computations for Simulation

Size: px
Start display at page:

Download "Geometric Computations for Simulation"

Transcription

1 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 to happen in the virtual world, either as initiated by a user, or autonomously. There are two main computational aspects to an effective simulation: setting up consistent physics for the world, so that reactions to events can be predicted, and accurate detection of events such as collisions, so that actions are initiated when expected, and not, for example, when a virtual hand is halfway through a virtual wall. Since contact and collision are the foundation for interaction between objects, these topics will be discussed first. The mathematics for this is often classified as geometric computation, and includes such things as collision detection, distance computations, and overlap measures. It is worth discussing what is meant by collision and distance measures and learning some simple ideas for computing these on modeling primitives such as lines and circles. A. Collision and Distance When you think of a collision, you probably think of some portion of two objects occupying (or trying to occupy) the same location in space. Many common-sense definitions can be more precisely defined using sets and set notation. The collision between two sets can be defined as C = {a = b : aɛa, bɛb} where A and B are two sets representing objects in the environment and C is the collision set. If C is empty, then there is no collision. The distance between two sets is more complicated. In general, when distance is used as a measure between two objects, what is really meant is the minimum distance between the two objects, as there are any number of distances between different parts of the objects. So, mindist(a, B) = min{dist(a, b) : aɛa, bɛb}. 1) Metrics and Norms: However, we have not yet defined what the distance between two elements, or points, in the sets is, so this definition is not yet complete. Distance is a function defined as a metric on a set M, where dist : M M R, and a metric space is (M, dist) which satisfies dist(a, b) = 0 a = b dist(a, b) = dist(b, a) dist(a, b) + dist(b, c) dist(a, c) Using these, we can show that dist(a, b) 0. dist(a, b) + dist(b, c) dist(a, c) Substituting a for c dist(a, b) + dist(b, a) dist(a, a) 2dist(a, b) dist(a, a) dist(a, b) 0 Most people think of Euclidean distance when they think of distance, defined for n-dimensional points a and b as

2 2 dist(a, b) = ( n a i b i 2 ) 1 2, which does satisfy the definition of a distance function in a metric space. There are a number of other distance metrics possible. Some examples are the Manhattan distance ( n ) dist(a, b) = a i b i, which corresponds to distance if you are only able to move in one dimension at a time, and the chessboard distance dist(a, b) = lim p ( n a i b i p ) 1 p, where diagonals have the same cost as axis-aligned movements. Other metrics are possible by using different values of p, but they have little practical importance. The concept of these different distance metrics is closely related to that of vector norms. A vector norm a p is defined as a p = ( n a i p ) 1 p. Since the difference between two points is a vector, these are essentially identical to the distance metrics. These vector norms are also known as L-p norms, such as L-1 and L-2 norms. 2) Dot, Inner, or Scalar Product: A convenient way of computing the Euclidean distance is to find the vector between the two points and compute its L-2 norm using the dot or inner product operation on vectors. The dot product for two vectors a and b is a b = n a i b i If a vector is dotted with itself, the squared L-2 norm results, since a a = n a i a i = n a i 2 = a 2 2 The dot product has several other nice properties which will be used in computing distances between geometric primitives. In the general case a b = a b cos θ, where θ is the angle between the vectors. Therefore, the dot product of perpendicular vectors is zero and the dot product of parallel vectors the product of their norms. If b is unit length, then the dot product a b is the projection of a onto b, or the length of a in the b direction. One can also think of projection as moving the head of a onto b as quickly as possible, or along the shortest path. So there is a connection between projection and computing minimum distance.

3 3 B. Geometric Computations on Modeling Primitives This idea of projection now leads to ways of computing distances between various geometric primitives, such as points, lines, circles, and triangles. A point projected onto a primitive gives the straight-line distance to that object, or the minimum distance. For example, the closest point on a plane P to a point a is the projection of a onto the plane. To make the connection between projection and minimum distance more explicit, consider the problem in a slightly different form. A plane can be defined as going through a set of vertices V 1, V 2, V 3, which create an internal coordinate system with axis vectors (V 2 V 1, V 3 V 1, N). This system then defines the plane in parametric form, T (u, v), where P (u, v) = V 1 + u(v 2 V 1 ) + v(v 3 V 1 ) (1) The distance, D, between a point a and every point on the plane is then D(u, v) = a P (u, v) (2) The closest point on the plane is the minimum of Equation 2. Minima, and really all extrema, occur at common zeros of the partial derivative of an equation. Since the distance, as expressed above, involves finding vector magnitude with a square root, a common trick is to use the squared distance instead. The squared distance shares roots with the Euclidean distance and has a simplified system of partial derivatives. Therefore, using the correspondence between the squared L-2 norm and dot product D 2 (u, v) = a P (u, v) 2 (3) = (a P (u, v)) (a P (u, v)). (4) The minimum distance occurs at simultaneous zeros of F, the system of partial derivatives of D 2 (u, v). In the following equation, partials are denoted by a subscripted parameter. The partials are found by using the chain rule on D 2 (u, v). F = [ ] D 2 u (u, v) Dv(u, 2 = v) [ ] 2(a P (u, v)) Pu (u, v) = 2(a P (u, v)) P v (u, v) [ ] 0. (5) 0 This probably does not seem like a very natural way to find the distance to a plane, and it would be computationally inefficient to use it directly. However, it does provide justification for the geometric projection operation used earlier. Looking at the system of partials, F, it describes the conditions that need to be met where there is a minima in distance. The condition is that the vector between a and the proposed solution point on the plane, P (u, v), must be orthogonal to both the surface tangents at P (u, v). This is because the dot product between that vector and each tangent must equal zero for F to be a root. An equivalent way of stating these constraints is that the vector between a and the proposed solution point must be parallel to the normal, since the normal is orthogonal to both surface tangents. Therefore, the projected straight-line distance concept is equivalent to the idea of projecting along the normal to find the closest point and this is an idea that is very easily translated into algorithmic form. 1) Distance from a Point to a Plane: A plane P can be defined implicitly with a point P a and a unit normal P N, as in P : (a P a ) P N = 0. All points a that satisfy this equation are part of the plane. Note that when a lies on P, then the vector a P a is orthogonal to the normal, so the dot product is zero. This plane equation is sometimes written as P : a P N + d = 0, where d = P a P N, which can be precomputed. The distance from a point a to the plane can be found by evaluating the plane equation. Note that the plane equation forms the vector a P a, and finds its projection onto the unit normal, thus giving its length in the normal direction. Since projecting along the normal gives the closest point on a surface, this projection is the minimum distance.

4 4 However, this is not quite correct. The point a may lie on either side of the plane, in which case the equation for distance can go negative, whereas distance should always be positive. The signed distance between two objects is useful in these cases and has other uses in computer simulation, like distingushing between contact and penetration. The closest point on the plane is the original point a moved along the normal by its distance to the plane. So the closest point cp is cp = a ((a P a ) P N )P N. 2) Distance from a Point to a Circle: Given a two-dimensional point a and a circle C in the plane with its center C c and radius C r. Then C is C : a C c C r = 0 The distance between a and C is just a plugged into the equation for the circle. Again, this can produce negative distances when a is inside the circle. Note that the normal at any point on a circle is the vector from that point to the circle center, so this fulfills the projection along the normal paradigm for closest point. 3) Distance from a Point to a Line: A line L in parametric form is defined by two points P 0 and P 1 L(t) = P 0 + t(p 1 P 0 ) The vector along the line (P 1 P 0 ) is usefully written as v L. The distance from a point a to the line L(t) can be found by projecting a onto the line, then computing the distance between the closest point projection and a. So the closest point cp on the line is ( cp = P 0 + (a P 0 ) v L ) vl v L v L and the distance is a cp. If you just want the distance and not the closest point, there is a clever trick using the properties of cross products showing that dist(a, L) = v L (a P 0 ). v L 4) Distance from a Point to a Line Segment: A line segment is a bounded line. The logic for distance from a point to a line segment is similar to that for a line, but the closest point must lie within the bounded line segment. This can be checked by seeing if the projection of a onto v L lies between zero and v L. 5) Circle-Circle Overlap: Collision tests are often easier than distance measures, but for simple primitives they are often equal in complexity. For two cirles C 0 and C 1, they are separated if their centers are further apart than the sum of their radii. So, collide(c 0, C 1 ) = C 0c C 1c (C 0r + C 1r ). 6) Line Segment-Line Segment Intersection: When line segments are generally positioned, then they intersect when the endpoints of each are on opposite sides of the line formed by the other line segment. One way is to find the vectors between the closest points on the line and the endpoints and to see if the vectors point in the same or different directions. Another approach is to use the cross product between the line vector and a vector from a line point to an endpoint, which either points out or into the plane depending on the direction. Care must be taken when dealing with degenerate cases where an endpoint lies on the other line. C. Contact and Distance for Convex Objects An important class of primitives are convex polytopes. Convexity is often loosely defined as the shape a rubber band would take when placed around a 2D object. More formally, a set is convex if the line segment between any two points in the set lies within the set. So a convex polytope also has no places where a line can cross out of the polytope and then back in again. In 2D, a polygon can be tested for convexity by checking the angle between all line segments; if the turn angle is always in the same direction then the polygon is convex.

5 5 1) The Convex Hull: The convex hull of a set of points X amde up of N points, p 1,..., p N, is the smallest convex set that contains X, basically the convex polytope made from some of the points and with all the other points in its interior. The convex hull is denoted CH(X). It can also be defined as the boundary of all possible weighted sums of the points where the weights are non-negative and sum to one, or ( N ) N CH(X) = boundary λ i p i : λ i 0 and λ i = 1 This may look fairly strange, but if you think of a line segment as a weighted combination of two points, then the line segment definition of convexity is a simplification of this. Convex objects are powerful in simulation because collision and distance can be computed very rapidly for them, yet many more complex shapes can be decomposed into sets of convex shapes. Many commercial physics engines rely on convex shapes as the primary primitive used. One could imagine processing collisions between two convex objects in a fashion similar to triangles that is, check for crossings of facets of one polytope with the other and then checking for total containment of each within the other. The facet crossing check is essentially a triangle-triangle intersection test, and as each facet of one has to be checked against all the facets of the other, this could require mn triangle tests for objects with m and n trianglular facets. Fortunately, faster methods exist. There are two seemingly different primary approaches, Minkowski difference methods, sometimes known as GJK methods for the authors that originally used the approach, and Voronoi diagram methods, originally proposed by Lin. 2) Minkowski Sum and Difference: The GJK approach is built upon a geometric operation known as the Minkowski sum, defined for two sets A and B as A B = a + b : aɛa, bɛb. This is often described as fattening A by B, or sweeping B around A. If this seems confusing, think of translating a shape B by some offset (x, y). The offset is added to each point in B. The Minkowski sum is just that operation, but by using every point in A for (x, y), resulting in a set of translated Bs. While the Minkowski sum is interesting, the closely related operation of Minkowski difference has some useful properties. The Minkowski difference is A B = a b : aɛa, bɛb. It is also the Minkowski sum of A and the reflection of B across the origin. The Minkowski difference can be used to determine collision, distance, and penetration between A and B. When A is colliding with B, then there is some point a = b : aɛa, bɛb, which implies that some point in the Minkowski difference is the origin. Note that this is not necessarily on the boundary of the difference, just that it is contained within the boundary. When we speak of the distance between A and B, the minimum distance is really meant. The minimum distance between A and B is just the smallest length between any two points in the sets, min( a b : aɛa, bɛb). which can be directly written in terms of the nearest point on the Minkowski difference to the origin O min( d : dɛa B). The penetration depth between A and B is the minimum translation needed to get A and B out of overlap. Since the Minkowski difference of the two contains the origin during overlap, this is equivalent to asking what is the closest point on the boundary to the origin. If one convex shape is moved that distance, then have moved apart. This is the same measure used for minimum distance, since the minimum distance tells how far the shapes need to move before they are in collision. While it is pleasant that these properties are directly recoverable from the Minkowski difference, they do not indicate whether it is efficient to do so in this space. GJK does make it efficient to work in this space by avoiding explicit computation of the Minkowski difference, and instead efficiently computing points on the boundary of the difference as needed.

6 6 3) GJK: The basic approach of GJK is to generate a series of simplices which shares vertices with the boundary of the Minkowski difference. A simplex in n-dimensions is the simplest shape with that dimensionality, or an n-dimensionsal analogue of a triangle. So for 3D objects, GJK uses a series of tetrahedra. If a tetrahedron contains the origin, then overlap has been detected between the original convex models. GJK can start with a random simplex. The origin is projected onto the simplex and tested for containment. If there is no containment, then the simplex is first reduced by a dimension by removing the vertex that does not support the face with the projected origin. Then the simplex is extended in the direction opposite the projection, in an effort to contain the origin. The new point for the simplex is found through a support mapping operation, which maps directions to points. The support point P for a given direction d is s A (d) = maxd (a origin) : aɛa. The support point is the point on the set furthest along the direction d. In GJK, d is opposite the projection of the origin onto the current simplex, so it tends to expand the simplex rapidly. One trick for efficiency is that the support mapping for the Minkowski difference can be decomposed into a linear combination of the mappings for the two convex shapes s A B (d) = s A (d) s B ( d) So the support mapping does not need to examine all vertices of the difference. GJK terminates either by containing the origin or by collapsing the simplex against the boundary of the Minkkowski difference, in which case the support mapping cannot find any new, closer vertices and the projection of the origin finds the minimum distance between A and B. GJK is particularly efficient for repeated calls, where the simplex from the previous step can be used to initialize the new search. Often only a single update to the simplex is needed to find the new distance or collision.

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

Other Voronoi/Delaunay Structures

Other Voronoi/Delaunay Structures Other Voronoi/Delaunay Structures Overview Alpha hulls (a subset of Delaunay graph) Extension of Voronoi Diagrams Convex Hull What is it good for? The bounding region of a point set Not so good for describing

More information

Collision and Proximity Queries

Collision and Proximity Queries Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other

More information

2-D Geometry for Programming Contests 1

2-D Geometry for Programming Contests 1 2-D Geometry for Programming Contests 1 1 Vectors A vector is defined by a direction and a magnitude. In the case of 2-D geometry, a vector can be represented as a point A = (x, y), representing the vector

More information

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane?

This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane? Intersecting Circles This blog addresses the question: how do we determine the intersection of two circles in the Cartesian plane? This is a problem that a programmer might have to solve, for example,

More information

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill Collision Detection These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Computer Animation ILE5030 Computer Animation and Special Effects 2 Haptic

More information

Elementary Planar Geometry

Elementary Planar Geometry Elementary Planar Geometry What is a geometric solid? It is the part of space occupied by a physical object. A geometric solid is separated from the surrounding space by a surface. A part of the surface

More information

References. Additional lecture notes for 2/18/02.

References. Additional lecture notes for 2/18/02. References Additional lecture notes for 2/18/02. I-COLLIDE: Interactive and Exact Collision Detection for Large-Scale Environments, by Cohen, Lin, Manocha & Ponamgi, Proc. of ACM Symposium on Interactive

More information

11.2 RECTANGULAR COORDINATES IN THREE DIMENSIONS

11.2 RECTANGULAR COORDINATES IN THREE DIMENSIONS 11.2 Rectangular Coordinates in Three Dimensions Contemporary Calculus 1 11.2 RECTANGULAR COORDINATES IN THREE DIMENSIONS In this section we move into 3 dimensional space. First we examine the 3 dimensional

More information

Computational Geometry

Computational Geometry More on Voronoi diagrams 1 Can we move a disc from one location to another amidst obstacles? 2 Since the Voronoi diagram of point sites is locally furthest away from those sites, we can move the disc if

More information

Unit 12 Topics in Analytic Geometry - Classwork

Unit 12 Topics in Analytic Geometry - Classwork Unit 1 Topics in Analytic Geometry - Classwork Back in Unit 7, we delved into the algebra and geometry of lines. We showed that lines can be written in several forms: a) the general form: Ax + By + C =

More information

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry Computational Geometry Algorithm Design (10) Computational Geometry Graduate School of Engineering Takashi Chikayama Algorithms formulated as geometry problems Broad application areas Computer Graphics,

More information

Problems of Plane analytic geometry

Problems of Plane analytic geometry 1) Consider the vectors u(16, 1) and v( 1, 1). Find out a vector w perpendicular (orthogonal) to v and verifies u w = 0. 2) Consider the vectors u( 6, p) and v(10, 2). Find out the value(s) of parameter

More information

Multivariable Calculus

Multivariable Calculus Multivariable Calculus Chapter 10 Topics in Analytic Geometry (Optional) 1. Inclination of a line p. 5. Circles p. 4 9. Determining Conic Type p. 13. Angle between lines p. 6. Parabolas p. 5 10. Rotation

More information

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018) Homework Assignment Sheet I (Due 16-March-2018) Assignment 1 Let f, g : N R with f(n) := 8n + 4 and g(n) := 1 5 n log 2 n. Prove explicitly that f O(g) and f o(g). Assignment 2 How can you generalize the

More information

COMPUTATIONAL GEOMETRY

COMPUTATIONAL GEOMETRY Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points

More information

Distance and Collision Detection

Distance 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 information

Polar Coordinates. 2, π and ( )

Polar Coordinates. 2, π and ( ) Polar Coordinates Up to this point we ve dealt exclusively with the Cartesian (or Rectangular, or x-y) coordinate system. However, as we will see, this is not always the easiest coordinate system to work

More information

Geometry. Zachary Friggstad. Programming Club Meeting

Geometry. Zachary Friggstad. Programming Club Meeting Geometry Zachary Friggstad Programming Club Meeting Points #i n c l u d e typedef complex p o i n t ; p o i n t p ( 1. 0, 5. 7 ) ; p. r e a l ( ) ; // x component p. imag ( ) ; // y component

More information

Conjectures concerning the geometry of 2-point Centroidal Voronoi Tessellations

Conjectures concerning the geometry of 2-point Centroidal Voronoi Tessellations Conjectures concerning the geometry of 2-point Centroidal Voronoi Tessellations Emma Twersky May 2017 Abstract This paper is an exploration into centroidal Voronoi tessellations, or CVTs. A centroidal

More information

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces. Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information

Planes Intersecting Cones: Static Hypertext Version

Planes Intersecting Cones: Static Hypertext Version Page 1 of 12 Planes Intersecting Cones: Static Hypertext Version On this page, we develop some of the details of the plane-slicing-cone picture discussed in the introduction. The relationship between the

More information

Background for Surface Integration

Background for Surface Integration Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to

More information

Chapter 2 Basic Structure of High-Dimensional Spaces

Chapter 2 Basic Structure of High-Dimensional Spaces Chapter 2 Basic Structure of High-Dimensional Spaces Data is naturally represented geometrically by associating each record with a point in the space spanned by the attributes. This idea, although simple,

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

Critique for CS 448B: Topics in Modeling The Voronoi-clip Collision Detection Algorithm

Critique for CS 448B: Topics in Modeling The Voronoi-clip Collision Detection Algorithm Critique for CS 448B: Topics in Modeling The Voronoi-clip Collision Detection Algorithm 1. Citation Richard Bragg March 3, 2000 Mirtich B. (1997) V-Clip: Fast and Robust Polyhedral Collision Detection.

More information

Computational Geometry

Computational Geometry Lecture 12: Lecture 12: Motivation: Terrains by interpolation To build a model of the terrain surface, we can start with a number of sample points where we know the height. Lecture 12: Motivation: Terrains

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Glossary of dictionary terms in the AP geometry units

Glossary of dictionary terms in the AP geometry units Glossary of dictionary terms in the AP geometry units affine linear equation: an equation in which both sides are sums of terms that are either a number times y or a number times x or just a number [SlL2-D5]

More information

Computational Geometry

Computational Geometry Computational Geometry 600.658 Convexity A set S is convex if for any two points p, q S the line segment pq S. S p S q Not convex Convex? Convexity A set S is convex if it is the intersection of (possibly

More information

2D/3D Geometric Transformations and Scene Graphs

2D/3D Geometric Transformations and Scene Graphs 2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background

More information

Developmental Math An Open Program Unit 7 Geometry First Edition

Developmental Math An Open Program Unit 7 Geometry First Edition Developmental Math An Open Program Unit 7 Geometry First Edition Lesson 1 Basic Geometric Concepts and Figures TOPICS 7.1.1 Figures in 1 and 2 Dimensions 1 Identify and define points, lines, line segments,

More information

Describe Plane Shapes

Describe Plane Shapes Lesson 12.1 Describe Plane Shapes You can use math words to describe plane shapes. point an exact position or location line endpoints line segment ray a straight path that goes in two directions without

More information

1. Use the Trapezium Rule with five ordinates to find an approximate value for the integral

1. Use the Trapezium Rule with five ordinates to find an approximate value for the integral 1. Use the Trapezium Rule with five ordinates to find an approximate value for the integral Show your working and give your answer correct to three decimal places. 2 2.5 3 3.5 4 When When When When When

More information

CSCI 4620/8626. Coordinate Reference Frames

CSCI 4620/8626. Coordinate Reference Frames CSCI 4620/8626 Computer Graphics Graphics Output Primitives Last update: 2014-02-03 Coordinate Reference Frames To describe a picture, the world-coordinate reference frame (2D or 3D) must be selected.

More information

Collision detection. Piotr Fulma«ski. 1 grudnia

Collision 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 information

Lecture 2 - Introduction to Polytopes

Lecture 2 - Introduction to Polytopes Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.

More information

Unit 1, Lesson 1: Moving in the Plane

Unit 1, Lesson 1: Moving in the Plane Unit 1, Lesson 1: Moving in the Plane Let s describe ways figures can move in the plane. 1.1: Which One Doesn t Belong: Diagrams Which one doesn t belong? 1.2: Triangle Square Dance m.openup.org/1/8-1-1-2

More information

Thomas Jefferson High School for Science and Technology Program of Studies TJ Math 1

Thomas Jefferson High School for Science and Technology Program of Studies TJ Math 1 Course Description: This course is designed for students who have successfully completed the standards for Honors Algebra I. Students will study geometric topics in depth, with a focus on building critical

More information

08: CONTACT MODELLING 15/02/2016

08: 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 information

Collision detection. Piotr Fulma«ski. 19 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Collision 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 information

Path Planning by Using Generalized Voronoi Diagrams and Dijkstra Algorithm. Lai Hon Lin. Project Proposal. Computational Geometry

Path Planning by Using Generalized Voronoi Diagrams and Dijkstra Algorithm. Lai Hon Lin. Project Proposal. Computational Geometry Path Planning by Using Generalized Voronoi Diagrams and Dijkstra Algorithm by Lai Hon Lin Project Proposal of Computational Geometry Assessed by: Dr. Deng Jun Hui 1. Abstract: This proposal is a description

More information

Math 7 Glossary Terms

Math 7 Glossary Terms Math 7 Glossary Terms Absolute Value Absolute value is the distance, or number of units, a number is from zero. Distance is always a positive value; therefore, absolute value is always a positive value.

More information

Week 8 Voronoi Diagrams

Week 8 Voronoi Diagrams 1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an

More information

REGULAR POLYTOPES REALIZED OVER Q

REGULAR POLYTOPES REALIZED OVER Q REGULAR POLYTOPES REALIZED OVER Q TREVOR HYDE A regular polytope is a d-dimensional generalization of a regular polygon and a Platonic solid. Roughly, they are convex geometric objects with maximal rotational

More information

Point A location in geometry. A point has no dimensions without any length, width, or depth. This is represented by a dot and is usually labelled.

Point A location in geometry. A point has no dimensions without any length, width, or depth. This is represented by a dot and is usually labelled. Test Date: November 3, 2016 Format: Scored out of 100 points. 8 Multiple Choice (40) / 8 Short Response (60) Topics: Points, Angles, Linear Objects, and Planes Recognizing the steps and procedures for

More information

Lesson 05. Mid Phase. Collision Detection

Lesson 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 information

Analytic Geometry Vocabulary Cards and Word Walls Important Notes for Teachers:

Analytic Geometry Vocabulary Cards and Word Walls Important Notes for Teachers: Analytic Geometry Vocabulary Cards and Word Walls Important Notes for Teachers: The vocabulary cards in this file reflect the vocabulary students taking Coordinate Algebra will need to know and be able

More information

Math 414 Lecture 2 Everyone have a laptop?

Math 414 Lecture 2 Everyone have a laptop? Math 44 Lecture 2 Everyone have a laptop? THEOREM. Let v,...,v k be k vectors in an n-dimensional space and A = [v ;...; v k ] v,..., v k independent v,..., v k span the space v,..., v k a basis v,...,

More information

Lecture 5: Simplicial Complex

Lecture 5: Simplicial Complex Lecture 5: Simplicial Complex 2-Manifolds, Simplex and Simplicial Complex Scribed by: Lei Wang First part of this lecture finishes 2-Manifolds. Rest part of this lecture talks about simplicial complex.

More information

Computational Geometry. HKU ACM ICPC Training 2010

Computational Geometry. HKU ACM ICPC Training 2010 Computational Geometry HKU ACM ICPC Training 2010 1 What is Computational Geometry? Deals with geometrical structures Points, lines, line segments, vectors, planes, etc. A relatively boring class of problems

More information

Course Number: Course Title: Geometry

Course Number: Course Title: Geometry Course Number: 1206310 Course Title: Geometry RELATED GLOSSARY TERM DEFINITIONS (89) Altitude The perpendicular distance from the top of a geometric figure to its opposite side. Angle Two rays or two line

More information

Proof of Constant Width of Spheroform with Tetrahedral Symmetry

Proof of Constant Width of Spheroform with Tetrahedral Symmetry Proof of Constant Width of Spheroform with Tetrahedral Symmetry Patrick Roberts Corvallis, Oregon August 20, 2012 The four faces of the Reuleaux tetrahedron are sections of sphere surface, each centered

More information

d f(g(t), h(t)) = x dt + f ( y dt = 0. Notice that we can rewrite the relationship on the left hand side of the equality using the dot product: ( f

d f(g(t), h(t)) = x dt + f ( y dt = 0. Notice that we can rewrite the relationship on the left hand side of the equality using the dot product: ( f Gradients and the Directional Derivative In 14.3, we discussed the partial derivatives f f and, which tell us the rate of change of the x y height of the surface defined by f in the x direction and the

More information

Collision Detection of Cylindrical Rigid Bodies for Motion Planning

Collision Detection of Cylindrical Rigid Bodies for Motion Planning Proceedings of the 2006 IEEE International Conference on Robotics and Automation Orlando, Florida - May 2006 Collision Detection of Cylindrical Rigid Bodies for Motion Planning John Ketchel Department

More information

1 Proximity via Graph Spanners

1 Proximity via Graph Spanners CS273: Algorithms for Structure Handout # 11 and Motion in Biology Stanford University Tuesday, 4 May 2003 Lecture #11: 4 May 2004 Topics: Proximity via Graph Spanners Geometric Models of Molecules, I

More information

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018 High-Dimensional Computational Geometry Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018 Outline 3-D vector geometry High-D hyperplane intersections Convex hull & its extension to 3

More information

CS S Lecture February 13, 2017

CS S Lecture February 13, 2017 CS 6301.008.18S Lecture February 13, 2017 Main topics are #Voronoi-diagrams, #Fortune. Quick Note about Planar Point Location Last week, I started giving a difficult analysis of the planar point location

More information

A GENTLE INTRODUCTION TO THE BASIC CONCEPTS OF SHAPE SPACE AND SHAPE STATISTICS

A GENTLE INTRODUCTION TO THE BASIC CONCEPTS OF SHAPE SPACE AND SHAPE STATISTICS A GENTLE INTRODUCTION TO THE BASIC CONCEPTS OF SHAPE SPACE AND SHAPE STATISTICS HEMANT D. TAGARE. Introduction. Shape is a prominent visual feature in many images. Unfortunately, the mathematical theory

More information

Topic. Section 4.1 (3, 4)

Topic. Section 4.1 (3, 4) Topic.. California Standards: 6.0: Students graph a linear equation and compute the x- and y-intercepts (e.g., graph x + 6y = ). They are also able to sketch the region defined by linear inequality (e.g.,

More information

Math 2 Coordinate Geometry Part 3 Inequalities & Quadratics

Math 2 Coordinate Geometry Part 3 Inequalities & Quadratics Math 2 Coordinate Geometry Part 3 Inequalities & Quadratics 1 DISTANCE BETWEEN TWO POINTS - REVIEW To find the distance between two points, use the Pythagorean theorem. The difference between x 1 and x

More information

An angle that has a measure less than a right angle.

An angle that has a measure less than a right angle. Unit 1 Study Strategies: Two-Dimensional Figures Lesson Vocab Word Definition Example Formed by two rays or line segments that have the same 1 Angle endpoint. The shared endpoint is called the vertex.

More information

CURVES OF CONSTANT WIDTH AND THEIR SHADOWS. Have you ever wondered why a manhole cover is in the shape of a circle? This

CURVES OF CONSTANT WIDTH AND THEIR SHADOWS. Have you ever wondered why a manhole cover is in the shape of a circle? This CURVES OF CONSTANT WIDTH AND THEIR SHADOWS LUCIE PACIOTTI Abstract. In this paper we will investigate curves of constant width and the shadows that they cast. We will compute shadow functions for the circle,

More information

Triangulation and Convex Hull. 8th November 2018

Triangulation and Convex Hull. 8th November 2018 Triangulation and Convex Hull 8th November 2018 Agenda 1. Triangulation. No book, the slides are the curriculum 2. Finding the convex hull. Textbook, 8.6.2 2 Triangulation and terrain models Here we have

More information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

Answer Key: Three-Dimensional Cross Sections

Answer Key: Three-Dimensional Cross Sections Geometry A Unit Answer Key: Three-Dimensional Cross Sections Name Date Objectives In this lesson, you will: visualize three-dimensional objects from different perspectives be able to create a projection

More information

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. 1. CONVEX POLYGONS Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. Convex 6 gon Another convex 6 gon Not convex Question. Why is the third

More information

LECTURE 7. Announcements

LECTURE 7. Announcements LECTURE 7 Announcements Minecraft 4 Feedback Looks good! A game that minimally involves platforms Not based on any game in particular Super Mario 64? Team Fortress 2? Completely up to you to make unique

More information

Math 8 Honors Coordinate Geometry part 3 Unit Updated July 29, 2016

Math 8 Honors Coordinate Geometry part 3 Unit Updated July 29, 2016 Review how to find the distance between two points To find the distance between two points, use the Pythagorean theorem. The difference between is one leg and the difference between and is the other leg.

More information

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls 1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms

More information

Collision Detection between Dynamic Rigid Objects and Static Displacement Mapped Surfaces in Computer Games

Collision 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 information

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality Planar Graphs In the first half of this book, we consider mostly planar graphs and their geometric representations, mostly in the plane. We start with a survey of basic results on planar graphs. This chapter

More information

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research Tiling Three-Dimensional Space with Simplices Shankar Krishnan AT&T Labs - Research What is a Tiling? Partition of an infinite space into pieces having a finite number of distinct shapes usually Euclidean

More information

Convex Geometry arising in Optimization

Convex Geometry arising in Optimization Convex Geometry arising in Optimization Jesús A. De Loera University of California, Davis Berlin Mathematical School Summer 2015 WHAT IS THIS COURSE ABOUT? Combinatorial Convexity and Optimization PLAN

More information

7. The Gauss-Bonnet theorem

7. The Gauss-Bonnet theorem 7. The Gauss-Bonnet theorem 7.1 Hyperbolic polygons In Euclidean geometry, an n-sided polygon is a subset of the Euclidean plane bounded by n straight lines. Thus the edges of a Euclidean polygon are formed

More information

ACT Math test Plane Geometry Review

ACT Math test Plane Geometry Review Plane geometry problems account for 14 questions on the ACT Math Test that s almost a quarter of the questions on the Subject Test. If you ve taken high school geometry, you ve probably covered all of

More information

66 III Complexes. R p (r) }.

66 III Complexes. R p (r) }. 66 III Complexes III.4 Alpha Complexes In this section, we use a radius constraint to introduce a family of subcomplexes of the Delaunay complex. These complexes are similar to the Čech complexes but differ

More information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 16: Voronoi Diagrams and Fortune s Algorithm contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through

More information

ACT SparkNotes Test Prep: Plane Geometry

ACT SparkNotes Test Prep: Plane Geometry ACT SparkNotes Test Prep: Plane Geometry Plane Geometry Plane geometry problems account for 14 questions on the ACT Math Test that s almost a quarter of the questions on the Subject Test If you ve taken

More information

A GJK-Based Algorithm for Constrained Least Squares

A GJK-Based Algorithm for Constrained Least Squares A GJK-Based Algorithm for Constrained Least Squares Paul Centore c January 28, 2015 Abstract A least squares problem is of the form Mx=b, where M is a matrix, and x and b are vectors. M and b are known,

More information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information

Geometric and Algebraic Connections

Geometric and Algebraic Connections Geometric and Algebraic Connections Geometric and Algebraic Connections Triangles, circles, rectangles, squares... We see shapes every day, but do we know much about them?? What characteristics do they

More information

Deductive reasoning can be used to establish area formulas.

Deductive reasoning can be used to establish area formulas. Mathematics: Modeling Our World Unit 4: THE RIGHT STUFF S U P P L E M E N TAL ACTIVITY AREA PROOFS S4.1 Deductive reasoning can be used to establish area formulas. 1.Many area proofs are based on a fact

More information

Identify parallel lines, skew lines and perpendicular lines.

Identify parallel lines, skew lines and perpendicular lines. Learning Objectives Identify parallel lines, skew lines and perpendicular lines. Parallel Lines and Planes Parallel lines are coplanar (they lie in the same plane) and never intersect. Below is an example

More information

Light: Geometric Optics

Light: Geometric Optics Light: Geometric Optics Regular and Diffuse Reflection Sections 23-1 to 23-2. How We See Weseebecauselightreachesoureyes. There are two ways, therefore, in which we see: (1) light from a luminous object

More information

Clipping and Intersection

Clipping and Intersection Clipping and Intersection Clipping: Remove points, line segments, polygons outside a region of interest. Need to discard everything that s outside of our window. Point clipping: Remove points outside window.

More information

Voronoi diagram and Delaunay triangulation

Voronoi diagram and Delaunay triangulation Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi

More information

Collision Detection CS434. Daniel G. Aliaga Department of Computer Science Purdue University

Collision Detection CS434. Daniel G. Aliaga Department of Computer Science Purdue University Collision Detection CS434 Daniel G. Aliaga Department of Computer Science Purdue University Some Applications Animations/games Robotic planning Haptics Some collision detection approaches Minkowski Sum

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

Appendix E Calculating Normal Vectors

Appendix E Calculating Normal Vectors OpenGL Programming Guide (Addison-Wesley Publishing Company) Appendix E Calculating Normal Vectors This appendix describes how to calculate normal vectors for surfaces. You need to define normals to use

More information

Unit 1 Algebraic Functions and Graphs

Unit 1 Algebraic Functions and Graphs Algebra 2 Unit 1 Algebraic Functions and Graphs Name: Unit 1 Day 1: Function Notation Today we are: Using Function Notation We are successful when: We can Use function notation to evaluate a function This

More information

Intersecting Simple Surfaces. Dr. Scott Schaefer

Intersecting Simple Surfaces. Dr. Scott Schaefer Intersecting Simple Surfaces Dr. Scott Schaefer 1 Types of Surfaces Infinite Planes Polygons Convex Ray Shooting Winding Number Spheres Cylinders 2/66 Infinite Planes Defined by a unit normal n and a point

More information

TOURNAMENT OF THE TOWNS, Glossary

TOURNAMENT OF THE TOWNS, Glossary TOURNAMENT OF THE TOWNS, 2003 2004 Glossary Absolute value The size of a number with its + or sign removed. The absolute value of 3.2 is 3.2, the absolute value of +4.6 is 4.6. We write this: 3.2 = 3.2

More information

Math 7, Unit 8: Geometric Figures Notes

Math 7, Unit 8: Geometric Figures Notes Math 7, Unit 8: Geometric Figures Notes Points, Lines and Planes; Line Segments and Rays s we begin any new topic, we have to familiarize ourselves with the language and notation to be successful. My guess

More information

The radius for a regular polygon is the same as the radius of the circumscribed circle.

The radius for a regular polygon is the same as the radius of the circumscribed circle. Perimeter and Area The perimeter and area of geometric shapes are basic properties that we need to know. The more complex a shape is, the more complex the process can be in finding its perimeter and area.

More information

(Refer Slide Time: 00:02:24 min)

(Refer Slide Time: 00:02:24 min) CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject

More information

What is dimension? An investigation by Laura Escobar. Math Explorer s Club

What is dimension? An investigation by Laura Escobar. Math Explorer s Club What is dimension? An investigation by Laura Escobar Math Explorer s Club The goal of this activity is to introduce you to the notion of dimension. The movie Flatland is also a great way to learn about

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information