Lecture 5: Computational Geometry

Size: px
Start display at page:

Download "Lecture 5: Computational Geometry"

Transcription

1 December 9, 2015

2 What is computational geometry? Study of algorithms for geometric problem solving. Typical problems Given a description of a set of geometric objects, e.g., set of points/segments/vertices of a polygon in a certain order. Answer a query about this set, e.g.: 1 do some segments intersect? 2 what is the convex hull of the set of points?... In this lecture, we assume objects represented by a set/sequence of n points p 0, p 1,..., p n 1 where each p i = (x i, y i ) R 2

3 Properties of line segments ASSUMPTION: p1 = (x 1, y 1 ) and p 2 = (x 2, y 2 ) are distinct points A convex combination of p 1 and p 2 is any point p 3 = (x 3, y 3 ) such that { x3 = α x 1 + (1 α) x 2 y 3 = α y 1 + (1 α) y 2 where 0 α 1. Intuition: p 3 is any point that is on the line passing through p 1 and p 2, which is on or between p 1 and p 2. The line segment p 1 p 2 delimited by points p1 = (x 1, y 1 ) and p 2 = (x 2, y 2 ) is the set of convex combinations between p 1 and p 2 The directed segment (or vector) p #» 1 p 2 imposes an ordering on its endpoints: p 1 is its origin, and p 2 its destination

4 Cross product Assumption: We identify p i = (x i, y i ) with the vector op #» i where o = (0, 0) is the origin of the system of coordinates. ( ) x1 x p 1 p 2 = det 2 = x y 1 y 1 y 2 x 2 y 1 = p 2 p 1 2 Geometric interpretation: (a) p 1 p 2 is the signed area of the parallelogram. (b) The lightly shaded region contains vectors that are clockwise from p. The darkly shaded region contains vectors that are counterclockwise from p.

5 Vectors and their relative positions Given three distinct points p i = (x i, y i ), 0 i 2 Determine if p #» 0 p 1 is closer to p #» 0 p 2 in clockwise or counterclockwise direction w.r.t. their common endpoint p 0. p 2 p 2 p 0 p 1 p 1 (0,0)

6 Vectors and their relative positions Given three distinct points p i = (x i, y i ), 0 i 2 Determine if p #» 0 p 1 is closer to p #» 0 p 2 in clockwise or counterclockwise direction w.r.t. their common endpoint p 0. p 2 p 2 p 0 p 1 p 1 (0,0) SOLUTION: shift vectors p #» 0 p 1 and p #» 0 p 2 to have origin in (0, 0) p 1 = (x 1 x 0, y 1 y 0 ), p 2 = (x 2 x 0, y 2 y 0 ) compute p 1 #» p 2 ; if positive, then p 0 p 1 is clockwise from p #» 0 p 2 ; if negative, it is counterclockwise.

7 Cross product Using cross product to determine how consecutive line segments p #» 0 p 1 and p #» 0 p 2 turn at point p 1 :

8 Cross product Using cross product to determine how consecutive line segments p #» 0 p 1 and p #» 0 p 2 turn at point p 1 : Check turn of #» p 0 p 2 w.r.t. #» p 0 p 1 : if counterclockwise, the points make a left turn. if clockwise, the points make a right turn. (p 1 p 0 ) (p 2 p 0 ) = (x 1 x 0 ) (y 2 y 0 ) (x 2 x 0 ) (y 1 y 0 ) If positive: #» p 0 p 1 is clockwise from #» p 0 p 2 If negative: #» p 0 p 1 is counterclockwise from #» p 0 p 2

9 Segment intersection test ASSUMPTION: p i = (x i, y i ) are four distinct points, 1 i 4. Question: Do segments p 1 p 2 and p 3 p 4 intersect or not? REMARK: p 1 p 2 and p 3 p 4 intersect if either (or both) of the following conditions hold: 1 p 1 and p 2 are on different sides of the line p 3 p 4 ; and p 3 and p 3 are on different sides of the line p 1 p 2, 2 an endpoint of one segment lies on the other segment (this condition comes from the boundary case).

10 Segment intersection test Pseudocode /* check if p 1 p 2 p 3 p 4 */ SegmentsIntersect(p 1, p 2, p 3, p 4 ) d 1 = Direction(p 3, p 4, p 1 ) d 2 = Direction(p 3, p 4, p 2 ) d 3 = Direction(p 1, p 2, p 3 ) d 4 = Direction(p 1, p 2, p 4 ) if ((d 1 < 0 d 2 > 0) (d 1 > 0 d 2 < 0)) ((d 3 < 0 d 4 > 0) (d 3 > 0 d 4 < 0)) return TRUE elseif d 1 == 0 OnSegment(p 3, p 4, p 1 ) return TRUE elseif d 2 == 0 OnSegment(p 3, p 4, p 2 ) return TRUE elseif d 3 == 0 OnSegment(p 1, p 2, p 3 ) return TRUE elseif d 4 == 0 OnSegment(p 1, p 2, p 4 ) return TRUE else return FALSE

11 Segment intersection test Auxiliary methods Direction and OnSegment Direction(p i, p j, p k ) return (p k p i ) (p j p i ) /* check if p k is between p i and p j */ OnSegment(p i, p j, p k ) if min(x i, x j ) x k max(x i, x j ) and min(y i, y j ) y k max(y i, y j ) return TRUE else return FALSE

12 Determine if any pair of segments in a set intersects Given a set S = {s 1,..., s n } of line segments Determine if s i s j for some 1 i j n.

13 Determine if any pair of segments in a set intersects Given a set S = {s 1,..., s n } of line segments Determine if s i s j for some 1 i j n. We can do this in O(n log n) time with the sweeping technique:

14 Determine if any pair of segments in a set intersects Given a set S = {s 1,..., s n } of line segments Determine if s i s j for some 1 i j n. We can do this in O(n log n) time with the sweeping technique: An imaginary vertical sweep line passes through the given set of geometric objects, usually from left to right. We will assume that the sweeping line moves across the x-dimension

15 Determine if any pair of segments in a set intersects Given a set S = {s 1,..., s n } of line segments Determine if s i s j for some 1 i j n. We can do this in O(n log n) time with the sweeping technique: An imaginary vertical sweep line passes through the given set of geometric objects, usually from left to right. We will assume that the sweeping line moves across the x-dimension Simplifying assumptions 1 No input segment is vertical 2 No three input segment intersect at a single point

16 Auxiliary notions Ordering segments ASSUMPTIONS: s 1, s 2 S are two line segments; sw x is the vertical sweep line with x-coordinate x Example s 1, s 2 are comparable at x if sw x intersects both s 1 and s 2 s 1 x s 2 if s 1, s 2 are x-comparable, and the intersection point s 1 sw x is higher than s 2 sw x In the figure below, we have a r c, a t b, b t c, b t c, and b u c. Segment d is not comparable with any other segment. Remark: x is a total preorder relation: reflexive, transitive, but neither symmetric nor antisymmetric.

17 Detecting segment intersections When line segments e and f intersect, they reverse their orders: we have e v f and f w e. Simplifying assumption 2 implies vertical sweep line sw x for which the intersections with segments e and f are consecutive w.r.t. total preorder x. Any sweep line that passes through the shaded region in figure above (such as z) has e and f consecutive in its total preorder.

18 Moving the sweep line The sweep line moves from left to right, through the sequence of endpoints sorted in increasing order of the x-coordinate. The sweeping algorithm maintains two data structures: Sweep line status: the relationships among the objects that the sweep line intersects. Event-point schedule: a sequence of points (the event points) ordered from left to right according to their x-coordinates.

19 Moving the sweep line The sweep line moves from left to right, through the sequence of endpoints sorted in increasing order of the x-coordinate. The sweeping algorithm maintains two data structures: Sweep line status: the relationships among the objects that the sweep line intersects. Event-point schedule: a sequence of points (the event points) ordered from left to right according to their x-coordinates. Whenever the sweep line reaches the x-coordinate of an event point: the sweep halst, processes the event point, and then resumes Changes to the sweep-line status occur only at event points.

20 The sweeping algorithm for segment intersections Auxiliary data structures THE SWEEP LINE STATUS: container for a total preorder T = x between line segments from S Requirements: to perform efficiently the following operations: 1 insert(t, s) : insert segment s into T 2 delete(t, s): delete segment s fro T 3 above(t, s): return the segment immediately above segment s in T. 4 below(t, s): return the segment immediately below segment s in T. REMARK: all these operations can be performed in O(log n) time using red-black trees.

21 The sweeping algorithm for segment intersections Pseudocode AnySegmentsIntersect(S) 1. T = 2. sort the endpoints of the segments in S from left to right, breaking ties by putting left endpoints before right endpoints and breaking further ties by putting points with lower y-coordinates first 3. for each point p in the sorted list of endpoints 4. if p is the left endpoint of a segment s 5. insert(t, s) 6. if (above(t, s) exists and intersects s) or (below(t, s) exists and intersects s) 7. return TRUE 8. if p is the right endpoint of a segment s 9. if both above(t, s) and below(t, s) exist and above(t, s) intersects below(t, s) 10. return TRUE 11. delete(t,s) 12. return FALSE

22 The sweeping algorithm for segment intersection Every dashed line is the sweep line at an event point. The ordering of segment names below each sweep line corresponds to the total preorder T at the end of the for loop processing the corresponding event point. The rightmost sweep line occurs when processing the right endpoint of segment c.

23 Convex hull of a set of points ASSUMPTION: Q is a finite set of n points. The convex hull CH(Q) of Q is the smallest convex polygon P with vertices in Q, such that each point in Q is either on the boundary of P or in its interior. Intuition: each point of Q is a nail stuck in a board convex hull = the shape formed by a tight rubber band that surrounds all the nails. EXAMPLE:

24 Convex hull Graham s scan Computes CH(P) in O(n log n), where n = Q with a technique named rotational sweep: vertices are processed in the order of the polar angles they form with a reference vertex. MAIN IDEA: Maintain a stack S of candidate points for the vertices of P in counterclockwise order. each point of Q is pushed onto S one time. the points in already S, which are not in CH(Q), are popped from S. Related operations: push(p, S), pop(s), and top(s) return, but do not pop, the point on top of S nexttotop(s): return the point one entry below the top of S without changing S

25 Convex hull Graham s scan algorithm: pseudocode GrahamScan(Q) 1 let p 0 be the point in Q with the minimum y-coordinate, or the leftmost such point in case of a tie 2 let p 1, p 2,..., p m be the remaining points in Q, sorted by polar angle in counterclockwise order around p 0 (if more than one point has the same angle, remove all but the one that is farthest from p 0 ) 3 let S be an empty stack 4 push(p 0, S) 5 push(p 1, S) 6 push(p 2, S) 7 for i = 3 to m 8 while the angle formed by nexttotop(s), top(s), and p i makes a nonleft turn 9 pop(s) 10 push(p i, S) 11 return S

26 Graham s scan algorithm: pseudocode Snapshots of algorithm execution

27 References Chapters 33: Computational Geometry from the book Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. Introduction to Algorithms. McGraw Hill, 2000.

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Computational Geometry. Lecture 1: Introduction and Convex Hulls Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

More information

Shortest Path Algorithms

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

More information

EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27 EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27 The Problem Given a set of N objects, do any two intersect? Objects could be lines, rectangles, circles, polygons, or other geometric objects Simple to

More information

39 Symmetry of Plane Figures

39 Symmetry of Plane Figures 39 Symmetry of Plane Figures In this section, we are interested in the symmetric properties of plane figures. By a symmetry of a plane figure we mean a motion of the plane that moves the figure so that

More information

Largest Fixed-Aspect, Axis-Aligned Rectangle

Largest Fixed-Aspect, Axis-Aligned Rectangle Largest Fixed-Aspect, Axis-Aligned Rectangle David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: February 21, 2004 Last Modified: February

More information

Triangulation by Ear Clipping

Triangulation by Ear Clipping Triangulation by Ear Clipping David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: November 18, 2002 Last Modified: August 16, 2015 Contents

More information

Arrangements And Duality

Arrangements And Duality Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

More information

Final Review Geometry A Fall Semester

Final Review Geometry A Fall Semester Final Review Geometry Fall Semester Multiple Response Identify one or more choices that best complete the statement or answer the question. 1. Which graph shows a triangle and its reflection image over

More information

INTERSECTION OF LINE-SEGMENTS

INTERSECTION OF LINE-SEGMENTS INTERSECTION OF LINE-SEGMENTS Vera Sacristán Discrete and Algorithmic Geometry Facultat de Matemàtiques i Estadística Universitat Politècnica de Catalunya Problem Input: n line-segments in the plane,

More information

G.H. Raisoni College of Engineering, Nagpur. Department of Information Technology

G.H. Raisoni College of Engineering, Nagpur. Department of Information Technology Practical List 1) WAP to implement line generation using DDA algorithm 2) WAP to implement line using Bresenham s line generation algorithm. 3) WAP to generate circle using circle generation algorithm

More information

Solving Geometric Problems with the Rotating Calipers *

Solving Geometric Problems with the Rotating Calipers * Solving Geometric Problems with the Rotating Calipers * Godfried Toussaint School of Computer Science McGill University Montreal, Quebec, Canada ABSTRACT Shamos [1] recently showed that the diameter of

More information

Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs

Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs R. L. Scot Drysdale a Günter Rote b,1 Astrid Sturm b,1 a Department of Computer Science, Dartmouth College b Institut

More information

Shortest Inspection-Path. Queries in Simple Polygons

Shortest Inspection-Path. Queries in Simple Polygons Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote B 05-05 April 2005 Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote Institut für Informatik,

More information

Linear Programming. March 14, 2014

Linear Programming. March 14, 2014 Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

More information

Algorithms for Computing Convex Hulls Using Linear Programming

Algorithms for Computing Convex Hulls Using Linear Programming Algorithms for Computing Convex Hulls Using Linear Programming Bo Mortensen, 20073241 Master s Thesis, Computer Science February 2015 Advisor: Peyman Afshani Advisor: Gerth Stølting Brodal AARHUS AU UNIVERSITY

More information

Geometry: Unit 1 Vocabulary TERM DEFINITION GEOMETRIC FIGURE. Cannot be defined by using other figures.

Geometry: Unit 1 Vocabulary TERM DEFINITION GEOMETRIC FIGURE. Cannot be defined by using other figures. Geometry: Unit 1 Vocabulary 1.1 Undefined terms Cannot be defined by using other figures. Point A specific location. It has no dimension and is represented by a dot. Line Plane A connected straight path.

More information

Tessellating with Regular Polygons

Tessellating with Regular Polygons Tessellating with Regular Polygons You ve probably seen a floor tiled with square tiles. Squares make good tiles because they can cover a surface without any gaps or overlapping. This kind of tiling is

More information

What's the Spin? - Discover Properties of Geometric Rotations

What's the Spin? - Discover Properties of Geometric Rotations What's the Spin? - Discover Properties of Geometric Rotations Geometry Major Topics: Rotations and their relation to reflections NCTM Principles and Standards: Content Standards Geometry Apply transformations

More information

Line Segments, Rays, and Lines

Line Segments, Rays, and Lines HOME LINK Line Segments, Rays, and Lines Family Note Help your child match each name below with the correct drawing of a line, ray, or line segment. Then observe as your child uses a straightedge to draw

More information

Geometry Chapter 1. 1.1 Point (pt) 1.1 Coplanar (1.1) 1.1 Space (1.1) 1.2 Line Segment (seg) 1.2 Measure of a Segment

Geometry Chapter 1. 1.1 Point (pt) 1.1 Coplanar (1.1) 1.1 Space (1.1) 1.2 Line Segment (seg) 1.2 Measure of a Segment Geometry Chapter 1 Section Term 1.1 Point (pt) Definition A location. It is drawn as a dot, and named with a capital letter. It has no shape or size. undefined term 1.1 Line A line is made up of points

More information

the recursion-tree method

the recursion-tree method the recursion- method recurrence into a 1 recurrence into a 2 MCS 360 Lecture 39 Introduction to Data Structures Jan Verschelde, 22 November 2010 recurrence into a The for consists of two steps: 1 Guess

More information

INCIDENCE-BETWEENNESS GEOMETRY

INCIDENCE-BETWEENNESS GEOMETRY INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full

More information

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example. An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points

More information

Persistent Data Structures and Planar Point Location

Persistent Data Structures and Planar Point Location Persistent Data Structures and Planar Point Location Inge Li Gørtz Persistent Data Structures Ephemeral Partial persistence Full persistence Confluent persistence V1 V1 V1 V1 V2 q ue V2 V2 V5 V2 V4 V4

More information

Line Segment Intersection

Line Segment Intersection Chapter 1 Line Segment Intersection (with material from [1], [3], and [5], pictures are missing) 1.1 Interval case We first think of having n intervals (e.g., the x-range of horizontal line segments) and

More information

New York State Student Learning Objective: Regents Geometry

New York State Student Learning Objective: Regents Geometry New York State Student Learning Objective: Regents Geometry All SLOs MUST include the following basic components: Population These are the students assigned to the course section(s) in this SLO all students

More information

DEGREE CONSTRAINED TRIANGULATION. Roshan Gyawali

DEGREE CONSTRAINED TRIANGULATION. Roshan Gyawali DEGREE CONSTRAINED TRIANGULATION by Roshan Gyawali Bachelor in Computer Engineering Institue of Engineering, Pulchowk Campus, Tribhuvan University, Kathmandu 2008 A thesis submitted in partial fulfillment

More information

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity. 7 Catalan Numbers Thomas A. Dowling, Department of Mathematics, Ohio State Uni- Author: versity. Prerequisites: The prerequisites for this chapter are recursive definitions, basic counting principles,

More information

Vector storage and access; algorithms in GIS. This is lecture 6

Vector storage and access; algorithms in GIS. This is lecture 6 Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector

More information

Intersection of Convex Objects: The Method of Separating Axes

Intersection of Convex Objects: The Method of Separating Axes Intersection of Convex Objects: The Method of Separating Axes David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: January 28, 2001 Last

More information

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows:

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: Chapter 12: Binary Search Trees A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: For all nodes x and y, if y belongs to the left subtree

More information

Computational Geometry: Line segment intersection

Computational Geometry: Line segment intersection : Line segment intersection Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013 Tutorial room change: 055 this building!!! (from next monday on) Outline Motivation Line segment intersection (and

More information

Pro/ENGINEER Wildfire 5.0 Introduction to Surface Modeling

Pro/ENGINEER Wildfire 5.0 Introduction to Surface Modeling Introduction Several advanced surface types are available as listed below. Variable Section Sweep Boundary Blend Section to Surfaces Blend Surface to Surface Blend A surface is created by sweeping a single

More information

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle Page 1 of?? ENG rectangle Rectangle Spoiler Solution of SQUARE For start, let s solve a similar looking easier task: find the area of the largest square. All we have to do is pick two points A and B and

More information

CSC2420 Spring 2015: Lecture 3

CSC2420 Spring 2015: Lecture 3 CSC2420 Spring 2015: Lecture 3 Allan Borodin January 22, 2015 1 / 1 Announcements and todays agenda Assignment 1 due next Thursday. I may add one or two additional questions today or tomorrow. Todays agenda

More information

Understand the Sketcher workbench of CATIA V5.

Understand the Sketcher workbench of CATIA V5. Chapter 1 Drawing Sketches in Learning Objectives the Sketcher Workbench-I After completing this chapter you will be able to: Understand the Sketcher workbench of CATIA V5. Start a new file in the Part

More information

Geometry Enduring Understandings Students will understand 1. that all circles are similar.

Geometry Enduring Understandings Students will understand 1. that all circles are similar. High School - Circles Essential Questions: 1. Why are geometry and geometric figures relevant and important? 2. How can geometric ideas be communicated using a variety of representations? ******(i.e maps,

More information

The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature.

The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature. The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature. Below is a discussion of the Standard Advanced Validate Geometry types. Empty Geometry

More information

11.3 Curves, Polygons and Symmetry

11.3 Curves, Polygons and Symmetry 11.3 Curves, Polygons and Symmetry Polygons Simple Definition A shape is simple if it doesn t cross itself, except maybe at the endpoints. Closed Definition A shape is closed if the endpoints meet. Polygon

More information

Cabri Geometry Application User Guide

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

More information

Selected practice exam solutions (part 5, item 2) (MAT 360)

Selected practice exam solutions (part 5, item 2) (MAT 360) Selected practice exam solutions (part 5, item ) (MAT 360) Harder 8,91,9,94(smaller should be replaced by greater )95,103,109,140,160,(178,179,180,181 this is really one problem),188,193,194,195 8. On

More information

Disjoint Compatible Geometric Matchings

Disjoint Compatible Geometric Matchings Disjoint Compatible Geometric Matchings Mashhood Ishaque Diane L. Souvaine Csaba D. Tóth Abstract We prove that for every even set of n pairwise disjoint line segments in the plane in general position,

More information

Algebra Geometry Glossary. 90 angle

Algebra Geometry Glossary. 90 angle lgebra Geometry Glossary 1) acute angle an angle less than 90 acute angle 90 angle 2) acute triangle a triangle where all angles are less than 90 3) adjacent angles angles that share a common leg Example:

More information

Persistent Data Structures

Persistent Data Structures 6.854 Advanced Algorithms Lecture 2: September 9, 2005 Scribes: Sommer Gentry, Eddie Kohler Lecturer: David Karger Persistent Data Structures 2.1 Introduction and motivation So far, we ve seen only ephemeral

More information

1 Computational Geometry

1 Computational Geometry 1 Computational Geometry Introduction Imagine you are walking on the campus of a university and suddenly you realize you have to make an urgent phone call. There are many public phones on campus and of

More information

Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi

Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi Geometry of Vectors Carlo Tomasi This note explores the geometric meaning of norm, inner product, orthogonality, and projection for vectors. For vectors in three-dimensional space, we also examine the

More information

Sketcher. Preface What's New? Getting Started Basic Tasks Customizing Workbench Description Glossary Index

Sketcher. Preface What's New? Getting Started Basic Tasks Customizing Workbench Description Glossary Index Sketcher Preface What's New? Getting Started Basic Tasks Customizing Workbench Description Glossary Index Dassault Systèmes 1994-99. All rights reserved. Preface CATIA Version 5 Sketcher application makes

More information

SOLIDWORKS: SKETCH RELATIONS

SOLIDWORKS: SKETCH RELATIONS Sketch Feature: The shape or topology of the initial sketch or model is important, but exact geometry and dimensions of the initial sketched shapes are NOT. It recommended to work in the following order:

More information

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

More information

Algorithm and Flowchart. 204112 Structured Programming 1

Algorithm and Flowchart. 204112 Structured Programming 1 Algorithm and Flowchart 204112 Structured Programming 1 Programming Methodology Problem solving Coding Problem statement and analysis Develop a high-level algorithm Detail out a low-level algorithm Choose

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

Star and convex regular polyhedra by Origami.

Star and convex regular polyhedra by Origami. Star and convex regular polyhedra by Origami. Build polyhedra by Origami.] Marcel Morales Alice Morales 2009 E D I T I O N M O R A L E S Polyhedron by Origami I) Table of convex regular Polyhedra... 4

More information

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions. Chapter 1 Vocabulary identity - A statement that equates two equivalent expressions. verbal model- A word equation that represents a real-life problem. algebraic expression - An expression with variables.

More information

Session 5 Dissections and Proof

Session 5 Dissections and Proof Key Terms for This Session Session 5 Dissections and Proof Previously Introduced midline parallelogram quadrilateral rectangle side-angle-side (SAS) congruence square trapezoid vertex New in This Session

More information

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it Seminar Path planning using Voronoi diagrams and B-Splines Stefano Martina stefano.martina@stud.unifi.it 23 may 2016 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

2.1. Inductive Reasoning EXAMPLE A

2.1. Inductive Reasoning EXAMPLE A CONDENSED LESSON 2.1 Inductive Reasoning In this lesson you will Learn how inductive reasoning is used in science and mathematics Use inductive reasoning to make conjectures about sequences of numbers

More information

Area. Area Overview. Define: Area:

Area. Area Overview. Define: Area: Define: Area: Area Overview Kite: Parallelogram: Rectangle: Rhombus: Square: Trapezoid: Postulates/Theorems: Every closed region has an area. If closed figures are congruent, then their areas are equal.

More information

Pro/ENGINEER Wildfire 4.0 Basic Design

Pro/ENGINEER Wildfire 4.0 Basic Design Introduction Datum features are non-solid features used during the construction of other features. The most common datum features include planes, axes, coordinate systems, and curves. Datum features do

More information

Mathematical Conventions Large Print (18 point) Edition

Mathematical Conventions Large Print (18 point) Edition GRADUATE RECORD EXAMINATIONS Mathematical Conventions Large Print (18 point) Edition Copyright 2010 by Educational Testing Service. All rights reserved. ETS, the ETS logo, GRADUATE RECORD EXAMINATIONS,

More information

Linear Programming I

Linear Programming I Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

More information

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM ALEX WRIGHT 1. Intoduction A fixed point of a function f from a set X into itself is a point x 0 satisfying f(x 0 ) = x 0. Theorems which establish the

More information

28 Closest-Point Problems -------------------------------------------------------------------

28 Closest-Point Problems ------------------------------------------------------------------- 28 Closest-Point Problems ------------------------------------------------------------------- Geometric problems involving points on the plane usually involve implicit or explicit treatment of distances

More information

The Set Data Model CHAPTER 7. 7.1 What This Chapter Is About

The Set Data Model CHAPTER 7. 7.1 What This Chapter Is About CHAPTER 7 The Set Data Model The set is the most fundamental data model of mathematics. Every concept in mathematics, from trees to real numbers, is expressible as a special kind of set. In this book,

More information

Automata and Computability. Solutions to Exercises

Automata and Computability. Solutions to Exercises Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata

More information

v 1 v 3 u v = (( 1)4 (3)2, [1(4) ( 2)2], 1(3) ( 2)( 1)) = ( 10, 8, 1) (d) u (v w) = (u w)v (u v)w (Relationship between dot and cross product)

v 1 v 3 u v = (( 1)4 (3)2, [1(4) ( 2)2], 1(3) ( 2)( 1)) = ( 10, 8, 1) (d) u (v w) = (u w)v (u v)w (Relationship between dot and cross product) 0.1 Cross Product The dot product of two vectors is a scalar, a number in R. Next we will define the cross product of two vectors in 3-space. This time the outcome will be a vector in 3-space. Definition

More information

Angles that are between parallel lines, but on opposite sides of a transversal.

Angles that are between parallel lines, but on opposite sides of a transversal. GLOSSARY Appendix A Appendix A: Glossary Acute Angle An angle that measures less than 90. Acute Triangle Alternate Angles A triangle that has three acute angles. Angles that are between parallel lines,

More information

alternate interior angles

alternate interior angles alternate interior angles two non-adjacent angles that lie on the opposite sides of a transversal between two lines that the transversal intersects (a description of the location of the angles); alternate

More information

Chapter 18 Symmetry. Symmetry of Shapes in a Plane 18.1. then unfold

Chapter 18 Symmetry. Symmetry of Shapes in a Plane 18.1. then unfold Chapter 18 Symmetry Symmetry is of interest in many areas, for example, art, design in general, and even the study of molecules. This chapter begins with a look at two types of symmetry of two-dimensional

More information

Lesson #13 Congruence, Symmetry and Transformations: Translations, Reflections, and Rotations

Lesson #13 Congruence, Symmetry and Transformations: Translations, Reflections, and Rotations Math Buddies -Grade 4 13-1 Lesson #13 Congruence, Symmetry and Transformations: Translations, Reflections, and Rotations Goal: Identify congruent and noncongruent figures Recognize the congruence of plane

More information

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

More information

1 VECTOR SPACES AND SUBSPACES

1 VECTOR SPACES AND SUBSPACES 1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such

More information

Diffuse Reflection Radius in a Simple Polygon

Diffuse Reflection Radius in a Simple Polygon Diffuse Reflection Radius in a Simple olygon Eli Fox-Epstein Csaba D. Tóth Andrew Winslow arxiv:1402.5303v3 [cs.cg] 17 May 2015 Abstract It is shown that every simple polygon in general position with n

More information

Algorithms Chapter 12 Binary Search Trees

Algorithms Chapter 12 Binary Search Trees Algorithms Chapter 1 Binary Search Trees Outline Assistant Professor: Ching Chi Lin 林 清 池 助 理 教 授 chingchi.lin@gmail.com Department of Computer Science and Engineering National Taiwan Ocean University

More information

Jim Lambers MAT 169 Fall Semester 2009-10 Lecture 25 Notes

Jim Lambers MAT 169 Fall Semester 2009-10 Lecture 25 Notes Jim Lambers MAT 169 Fall Semester 009-10 Lecture 5 Notes These notes correspond to Section 10.5 in the text. Equations of Lines A line can be viewed, conceptually, as the set of all points in space that

More information

Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *

Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * * Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest

More information

The purposes of this experiment are to test Faraday's Law qualitatively and to test Lenz's Law.

The purposes of this experiment are to test Faraday's Law qualitatively and to test Lenz's Law. 260 17-1 I. THEORY EXPERIMENT 17 QUALITATIVE STUDY OF INDUCED EMF Along the extended central axis of a bar magnet, the magnetic field vector B r, on the side nearer the North pole, points away from this

More information

2. FINDING A SOLUTION

2. FINDING A SOLUTION The 7 th Balan Conference on Operational Research BACOR 5 Constanta, May 5, Roania OPTIMAL TIME AND SPACE COMPLEXITY ALGORITHM FOR CONSTRUCTION OF ALL BINARY TREES FROM PRE-ORDER AND POST-ORDER TRAVERSALS

More information

The number of generalized balanced lines

The number of generalized balanced lines The number of generalized balanced lines David Orden Pedro Ramos Gelasio Salazar Abstract Let S be a set of r red points and b = r + 2δ blue points in general position in the plane, with δ 0. A line l

More information

TOWARDS AN AUTOMATED HEALING OF 3D URBAN MODELS

TOWARDS AN AUTOMATED HEALING OF 3D URBAN MODELS TOWARDS AN AUTOMATED HEALING OF 3D URBAN MODELS J. Bogdahn a, V. Coors b a University of Strathclyde, Dept. of Electronic and Electrical Engineering, 16 Richmond Street, Glasgow G1 1XQ UK - jurgen.bogdahn@strath.ac.uk

More information

Geometry Progress Ladder

Geometry Progress Ladder Geometry Progress Ladder Maths Makes Sense Foundation End-of-year objectives page 2 Maths Makes Sense 1 2 End-of-block objectives page 3 Maths Makes Sense 3 4 End-of-block objectives page 4 Maths Makes

More information

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space 11 Vectors and the Geometry of Space 11.1 Vectors in the Plane Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. 2 Objectives! Write the component form of

More information

Geometry Review Flash Cards

Geometry Review Flash Cards point is like a star in the night sky. However, unlike stars, geometric points have no size. Think of them as being so small that they take up zero amount of space. point may be represented by a dot on

More information

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) -----------------------------------------

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) ----------------------------------------- =============================================================================================================================== DATA STRUCTURE PSEUDO-CODE EXAMPLES (c) Mubashir N. Mir - www.mubashirnabi.com

More information

1. A student followed the given steps below to complete a construction. Which type of construction is best represented by the steps given above?

1. A student followed the given steps below to complete a construction. Which type of construction is best represented by the steps given above? 1. A student followed the given steps below to complete a construction. Step 1: Place the compass on one endpoint of the line segment. Step 2: Extend the compass from the chosen endpoint so that the width

More information

Linear Programming. April 12, 2005

Linear Programming. April 12, 2005 Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first

More information

Local Search The perfect guide

Local Search The perfect guide Local Search The perfect guide Tanmay Kadam 1, Nikhil Saxena 2, Akash Kosambia 3, Prof Anita Lahane 4 1 (Computer Engineering, Rajiv Gandhi Institute of Technology, University of Mumbai, India) 2 (Computer

More information

1/1 7/4 2/2 12/7 10/30 12/25

1/1 7/4 2/2 12/7 10/30 12/25 Binary Heaps A binary heap is dened to be a binary tree with a key in each node such that: 1. All leaves are on, at most, two adjacent levels. 2. All leaves on the lowest level occur to the left, and all

More information

Learning Outcomes. COMP202 Complexity of Algorithms. Binary Search Trees and Other Search Trees

Learning Outcomes. COMP202 Complexity of Algorithms. Binary Search Trees and Other Search Trees Learning Outcomes COMP202 Complexity of Algorithms Binary Search Trees and Other Search Trees [See relevant sections in chapters 2 and 3 in Goodrich and Tamassia.] At the conclusion of this set of lecture

More information

Grade 7 & 8 Math Circles Circles, Circles, Circles March 19/20, 2013

Grade 7 & 8 Math Circles Circles, Circles, Circles March 19/20, 2013 Faculty of Mathematics Waterloo, Ontario N2L 3G Introduction Grade 7 & 8 Math Circles Circles, Circles, Circles March 9/20, 203 The circle is a very important shape. In fact of all shapes, the circle is

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Lecture 17 : Equivalence and Order Relations DRAFT

Lecture 17 : Equivalence and Order Relations DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses

JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses Ayonike Akingbade, Thomas Finley, Diana Jackson, Pretesh Patel, and Susan H. Rodger Department of Computer Science Duke University Durham,

More information

Clustering Lines in High Dimensional Space: Classification of Incomplete Data

Clustering Lines in High Dimensional Space: Classification of Incomplete Data Clustering Lines in High Dimensional Space: Classification of Incomplete Data JIE GAO Stony Brook University MICHAEL LANGBERG The Open University of Israel LEONARD J. SCHULMAN California Institute of Technology

More information

Topology. Shapefile versus Coverage Views

Topology. Shapefile versus Coverage Views Topology Defined as the the science and mathematics of relationships used to validate the geometry of vector entities, and for operations such as network tracing and tests of polygon adjacency Longley

More information

Rotation Operation for Binary Search Trees Idea:

Rotation Operation for Binary Search Trees Idea: Rotation Operation for Binary Search Trees Idea: Change a few pointers at a particular place in the tree so that one subtree becomes less deep in exchange for another one becoming deeper. A sequence of

More information

Chapter 8 Geometry We will discuss following concepts in this chapter.

Chapter 8 Geometry We will discuss following concepts in this chapter. Mat College Mathematics Updated on Nov 5, 009 Chapter 8 Geometry We will discuss following concepts in this chapter. Two Dimensional Geometry: Straight lines (parallel and perpendicular), Rays, Angles

More information

GEOMETRY CONCEPT MAP. Suggested Sequence:

GEOMETRY CONCEPT MAP. Suggested Sequence: CONCEPT MAP GEOMETRY August 2011 Suggested Sequence: 1. Tools of Geometry 2. Reasoning and Proof 3. Parallel and Perpendicular Lines 4. Congruent Triangles 5. Relationships Within Triangles 6. Polygons

More information

GEOMETRY COMMON CORE STANDARDS

GEOMETRY COMMON CORE STANDARDS 1st Nine Weeks Experiment with transformations in the plane G-CO.1 Know precise definitions of angle, circle, perpendicular line, parallel line, and line segment, based on the undefined notions of point,

More information