Geometric Computations for Simulation
|
|
- Gary Casey
- 5 years ago
- Views:
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 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 informationOther 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 informationCollision 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 information2-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 informationComputational 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 informationThis 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 informationCollision 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 informationElementary 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 informationReferences. 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 information11.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 informationComputational 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 informationUnit 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 informationComputational 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 informationProblems 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 informationMultivariable 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 informationPS 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 informationCOMPUTATIONAL 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 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 informationPolar 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 informationGeometry. 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 informationConjectures 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 informationIn 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 informationGEOMETRIC 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 informationPlanes 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 informationBackground 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 informationChapter 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 informationLecture 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 informationCritique 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 informationComputational 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 information2D 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 informationGlossary 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 informationComputational 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 information2D/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 informationDevelopmental 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 informationDescribe 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 information1. 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 informationCSCI 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 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 informationLecture 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 informationUnit 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 informationThomas 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 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 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 informationPath 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 informationMath 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 informationWeek 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 informationREGULAR 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 informationPoint 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 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 informationAnalytic 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 informationMath 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 informationLecture 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 informationComputational 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 informationCourse 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 informationProof 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 informationd 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 informationCollision 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 information1 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 informationHigh-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 informationCS 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 informationA 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 informationTopic. 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 informationMath 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 informationAn 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 informationCURVES 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 informationTriangulation 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 informationCS 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 informationAnswer 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 information1. 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 informationLECTURE 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 informationMath 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 information1/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 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 informationPlanar 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 informationTiling 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 informationConvex 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 information7. 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 informationACT 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 information66 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 informationLecture 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 informationACT 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 informationA 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 informationMATH 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 informationGeometric 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 informationDeductive 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 informationIdentify 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 informationLight: 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 informationClipping 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 informationVoronoi 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 informationCollision 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 informationPOLYHEDRAL 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 informationAppendix 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 informationUnit 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 informationIntersecting 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 informationTOURNAMENT 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 informationMath 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 informationThe 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)
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 informationWhat 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 informationChapter 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