EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27
|
|
- Cathleen Gray
- 7 years ago
- Views:
Transcription
1 EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27
2 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 evaluate physical objects but takes some effort for a computer Work with only line intersection as base case Consider simple case first and expand implementation
3 Methods Brute force Horizontal and Vertical Lines General Line Intersection
4 Brute Force Check each pair of objects to see if they intersect using ccw Time proportional to O(N 2 ) Not uncommon to deal with very large number of objects
5 Simple case Constrain lines to be horizontal or vertical Apply general strategy for horizontal-vertical case to lines with no constraints Focus on counting problem Algorithms can be extended to return all intersecting pairs
6 Horizontal and Vertical Lines A F B H I C D G E Given a set of N horizontal and vertical lines, do any two intersect?
7 Horizontal and Vertical Lines Properties of line segment defined by P1(x1, y1) and P2(x2, y2): Line segment is vertical if x1 == x2 Line segment is horizontal if y1 == y2 All lines have one of these properties Idea: Sweep scan line from bottom to top Scan line acts like time Line segments must occupy same space in same time to intersect Project Vertical and Horizontal line segments onto scan line Vertical line segments appear as single point Horizontal line segments appear as an interval Intersection found if vertical line segment projection (single point) lies in horizontal line segment (interval) on scan line Reduces problem into one-dimensional range search Does interval contain point?
8 Horizontal and Vertical Lines Build binary search tree (named x-tree) to represent relationships between vertical line segments Node stores lines x coordinates For vertical line segments: If bottom endpoint encountered, add x-coordinate into x- tree If a vertical line is left to the root line, then add it to the left leaf, otherwise add it to right leaf If top endpoint encountered, delete from x-tree For horizontal line segments: Do interval range search using min and max x-coordinates
9 Scan Process F A C H B G D E range I Sort line endpoints by their y-coordinates Each vertical line appears twice in list Each horizontal line appears once For vertical lines Bottom endpoint encountered = insert into tree Top endpoint encountered = delete from tree For horizontal lines Endpoints (L, R) encountered = range search delete delete range delete delete delete delete delete CEDG IBFCHBA IEDHF insert insert insert insert insert insert insert
10 Sweep Scanline CD F HE A F C D B G E H I DB HB HI
11 Y-Tree instead of line sweep Instead of presorting on y-coordinates to get scan order, use binary search tree for initial y sort (called y-tree) y-tree contains all the line endpoints Scan is inorder traversal of y-tree A B D C B E F D C I H E G F H I Figure 27.5 Sorting for scan using the y-tree
12 Generic Program Procedure Intersection (y-tree) Set x-tree null and count 0 Loop If y-tree completes traverse, then return count Set focus Suitable-pick (y-tree) If it is a horizontal line, then RangeSearch x-tree and count the intersection numbers else Update x-tree End-loop Count: record the intersection number Suitable-pick: pick one line s endpoint from y-tree with left priority RangeSearch: take a range search in x-tree for intersection Update: add line to x-tree when encountering the bottom endpoint; delete line from x- tree when encountering the top endpoint
13 Analysis Property 27.1: All intersections among N horizontal and vertical lines can be found in time proportional to N log N + I, where I is the number of intersections Tree manipulations on average take time proportional to log N Range searching depends on total number of intersections Bad-case: cross-hatch pattern Number of intersections proportional to N 2 If I is known to be large, use brute force (N 2 )/2 instead of (N log N + N 2 )
14 General Line Intersection F A C D B E H I G Given a set of N lines, do any two intersect?
15 General Line Intersection Changes Interval range test no longer sufficient, necessary to explicitly test using the line intersect function Sort on (min) y-coordinate to divide space into strips Use binary search tree (BST) to store order of lines Node stores line Proceed through sorted list [same idea as scan] If bottom endpoint encountered, add line to BST If top endpoint encountered, delete line from BST Building tree not that simple
16 Building The Tree Use a more general ordering relationship Line x is to the right of line y if both endpoints of x are on the same side of y as a point infinitely far to the right Or if y is to the left of x Line x is to the left of line x If both endpoints of x are on the same size of y as a point infinitely far to the left Or if y is to the right of x Line comparison can be implemented using ccw procedure
17 CCW Review Slope Comparison Collinear Cases
18 Line Ordering Example B is to the right of F F is to the left of B H is to the right of B B is to the left of H A E I F C D B H G
19 Building the Tree inserting a line Line X Defined by P0(x0, y0) and P1(x1, y1) Already in tree Line Y Defined by P2(x2, y2) and P3(x3, y3) Inserting into tree Comparison Test If ccw(x.p0, X.P1, Y.P2) == ccw(x.p0, X.P1, Y.P3) == counterclockwise Insert Y as left child of X If ccw(x.p0, X.P1, Y.P2) == ccw(x.p0, X.P1, Y.P3) == clockwise Insert Y as right child of X If ccw(x.p0, X.P1, Y.P2)!= ccw(x.p0, X.P1, Y.P3) Lines must intersect
20 Building the tree comparison operation The ordering relationship between lines for the binary tree is more complicated Comparison operation is not transitive E I A F is the left of B, B is to the left of D, F D but F is not to the left of D C B H G
21 Building the tree tree manipulation Insertion: Starting at root, compare line Each comparison performed during the tree manipulation procedures is a line-intersection test Deletion: Explicitly test the 2 children of the line being deleted, because comparison is not transitive We must test explicitly that comparisons are valid each time we change the tree structure. Default BST assumes transitivity
22 General Line Intersection CD B E I F H A DB G D F G C B H
23 What happens after intersection? A E I The y values is likely to be different between the intersection point and line endpoints F C D B H G D and F should swap places after the point of intersection
24 After Intersection Problem: After a point of intersection, the two lines should swap places Solution 1: use priority queue instead of binary tree for sort on y-coordinate Work the scan line by taking the smallest y-coordinate When intersection is found, add new entries for each line using the intersection point as the lower endpoints Solution 2: remove one of the intersecting lines when intersection found Appropriate if not too many intersections expected All intersecting pairs must involve removed line After scan is complete, use brute-force to enumerate all intersections
25 Analysis All intersections among N lines can be found in time proportional to (N+I) log N I is the number of intersections log N for tree manipulations If there is an intersection, we need to add two new lines endpoint into the priority queue, so we have N+I lines.
26 General geometric shapes Rectangles Defined by four lines Define to the left of and to the right of X is left of Y is right edge of X is left of the left edge of Y Circles Circle defined as center coordinate and radius Use center coordinate to order and compare distance between centers and distance between radii Brute force
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 informationScan-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 informationBinary Heaps. CSE 373 Data Structures
Binary Heaps CSE Data Structures Readings Chapter Section. Binary Heaps BST implementation of a Priority Queue Worst case (degenerate tree) FindMin, DeleteMin and Insert (k) are all O(n) Best case (completely
More informationBinary 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 informationBinary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R
Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent
More information28 Closest-Point Problems -------------------------------------------------------------------
28 Closest-Point Problems ------------------------------------------------------------------- Geometric problems involving points on the plane usually involve implicit or explicit treatment of distances
More informationShortest 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 informationClosest Pair Problem
Closest Pair Problem Given n points in d-dimensions, find two whose mutual distance is smallest. Fundamental problem in many applications as well as a key step in many algorithms. p q A naive algorithm
More informationAnalysis of Algorithms I: Binary Search Trees
Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary
More informationAlgorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection
Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search
More informationComputational 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 informationroot node level: internal node edge leaf node CS@VT Data Structures & Algorithms 2000-2009 McQuain
inary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from each
More informationData Structure [Question Bank]
Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:
More informationSOLIDWORKS: 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 informationPersistent 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 information5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.
1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The
More informationOrdered Lists and Binary Trees
Data Structures and Algorithms Ordered Lists and Binary Trees Chris Brooks Department of Computer Science University of San Francisco Department of Computer Science University of San Francisco p.1/62 6-0:
More informationLine and Polygon Clipping. Foley & Van Dam, Chapter 3
Line and Polygon Clipping Foley & Van Dam, Chapter 3 Topics Viewing Transformation Pipeline in 2D Line and polygon clipping Brute force analytic solution Cohen-Sutherland Line Clipping Algorithm Cyrus-Beck
More informationPrevious Lectures. B-Trees. External storage. Two types of memory. B-trees. Main principles
B-Trees Algorithms and data structures for external memory as opposed to the main memory B-Trees Previous Lectures Height balanced binary search trees: AVL trees, red-black trees. Multiway search trees:
More informationVector 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 informationBinary Search Trees (BST)
Binary Search Trees (BST) 1. Hierarchical data structure with a single reference to node 2. Each node has at most two child nodes (a left and a right child) 3. Nodes are organized by the Binary Search
More informationINTERSECTION 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 informationCK-12 Geometry: Parts of Circles and Tangent Lines
CK-12 Geometry: Parts of Circles and Tangent Lines Learning Objectives Define circle, center, radius, diameter, chord, tangent, and secant of a circle. Explore the properties of tangent lines and circles.
More information5.4 Closest Pair of Points
5.4 Closest Pair of Points Closest Pair of Points Closest pair. Given n points in the plane, find a pair with smallest Euclidean distance between them. Fundamental geometric primitive. Graphics, computer
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2016S-06 Binary Search Trees David Galles Department of Computer Science University of San Francisco 06-0: Ordered List ADT Operations: Insert an element in the list
More informationLecture 6: Binary Search Trees CSCI 700 - Algorithms I. Andrew Rosenberg
Lecture 6: Binary Search Trees CSCI 700 - Algorithms I Andrew Rosenberg Last Time Linear Time Sorting Counting Sort Radix Sort Bucket Sort Today Binary Search Trees Data Structures Data structure is a
More informationFrom Last Time: Remove (Delete) Operation
CSE 32 Lecture : More on Search Trees Today s Topics: Lazy Operations Run Time Analysis of Binary Search Tree Operations Balanced Search Trees AVL Trees and Rotations Covered in Chapter of the text From
More informationMATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation
MATHEMATICAL ENGINEERING TECHNICAL REPORTS The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation Shinji IMAHORI, Mutsunori YAGIURA METR 2007 53 September 2007 DEPARTMENT
More informationB-Trees. Algorithms and data structures for external memory as opposed to the main memory B-Trees. B -trees
B-Trees Algorithms and data structures for external memory as opposed to the main memory B-Trees Previous Lectures Height balanced binary search trees: AVL trees, red-black trees. Multiway search trees:
More informationMAX = 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 informationA 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 informationHow To Create A Tree From A Tree In Runtime (For A Tree)
Binary Search Trees < 6 2 > = 1 4 8 9 Binary Search Trees 1 Binary Search Trees A binary search tree is a binary tree storing keyvalue entries at its internal nodes and satisfying the following property:
More informationSolidWorks Implementation Guides. Sketching Concepts
SolidWorks Implementation Guides Sketching Concepts Sketching in SolidWorks is the basis for creating features. Features are the basis for creating parts, which can be put together into assemblies. Sketch
More informationAlgorithms 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 informationArea. 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 informationA binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:
Binary Search Trees 1 The general binary tree shown in the previous chapter is not terribly useful in practice. The chief use of binary trees is for providing rapid access to data (indexing, if you will)
More informationUnderstand 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 informationNew 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 information7.4A/7.4B STUDENT ACTIVITY #1
7.4A/7.4B STUDENT ACTIVITY #1 Write a formula that could be used to find the radius of a circle, r, given the circumference of the circle, C. The formula in the Grade 7 Mathematics Chart that relates the
More informationWhy Use Binary Trees?
Binary Search Trees Why Use Binary Trees? Searches are an important application. What other searches have we considered? brute force search (with array or linked list) O(N) binarysearch with a pre-sorted
More informationApproximation 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 informationPROBLEM SET. Practice Problems for Exam #1. Math 1352, Fall 2004. Oct. 1, 2004 ANSWERS
PROBLEM SET Practice Problems for Exam # Math 352, Fall 24 Oct., 24 ANSWERS i Problem. vlet R be the region bounded by the curves x = y 2 and y = x. A. Find the volume of the solid generated by revolving
More information39 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 informationGrade 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 informationConverting a Number from Decimal to Binary
Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive
More information6 March 2007 1. Array Implementation of Binary Trees
Heaps CSE 0 Winter 00 March 00 1 Array Implementation of Binary Trees Each node v is stored at index i defined as follows: If v is the root, i = 1 The left child of v is in position i The right child of
More informationChapter 14 The Binary Search Tree
Chapter 14 The Binary Search Tree In Chapter 5 we discussed the binary search algorithm, which depends on a sorted vector. Although the binary search, being in O(lg(n)), is very efficient, inserting a
More informationBinary Heap Algorithms
CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G. Chappell
More informationR-trees. R-Trees: A Dynamic Index Structure For Spatial Searching. R-Tree. Invariants
R-Trees: A Dynamic Index Structure For Spatial Searching A. Guttman R-trees Generalization of B+-trees to higher dimensions Disk-based index structure Occupancy guarantee Multiple search paths Insertions
More informationCabri 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 informationTREE BASIC TERMINOLOGIES
TREE Trees are very flexible, versatile and powerful non-liner data structure that can be used to represent data items possessing hierarchical relationship between the grand father and his children and
More informationBinary Search Trees CMPSC 122
Binary Search Trees CMPSC 122 Note: This notes packet has significant overlap with the first set of trees notes I do in CMPSC 360, but goes into much greater depth on turning BSTs into pseudocode than
More informationBinary Search Trees 3/20/14
Binary Search Trees 3/0/4 Presentation for use ith the textbook Data Structures and Algorithms in Java, th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldasser, Wiley, 04 Binary Search Trees 4
More informationBinary Trees and Huffman Encoding Binary Search Trees
Binary Trees and Huffman Encoding Binary Search Trees Computer Science E119 Harvard Extension School Fall 2012 David G. Sullivan, Ph.D. Motivation: Maintaining a Sorted Collection of Data A data dictionary
More information1. Then f has a relative maximum at x = c if f(c) f(x) for all values of x in some
Section 3.1: First Derivative Test Definition. Let f be a function with domain D. 1. Then f has a relative maximum at x = c if f(c) f(x) for all values of x in some open interval containing c. The number
More informationCommon Core Unit Summary Grades 6 to 8
Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations
More informationHome Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit
Data Structures Page 1 of 24 A.1. Arrays (Vectors) n-element vector start address + ielementsize 0 +1 +2 +3 +4... +n-1 start address continuous memory block static, if size is known at compile time dynamic,
More informationArrangements 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 informationSample Questions Csci 1112 A. Bellaachia
Sample Questions Csci 1112 A. Bellaachia Important Series : o S( N) 1 2 N N i N(1 N) / 2 i 1 o Sum of squares: N 2 N( N 1)(2N 1) N i for large N i 1 6 o Sum of exponents: N k 1 k N i for large N and k
More informationGEOMETRY 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 informationIntroduction to CATIA V5
Introduction to CATIA V5 Release 16 (A Hands-On Tutorial Approach) Kirstie Plantenberg University of Detroit Mercy SDC PUBLICATIONS Schroff Development Corporation www.schroff.com www.schroff-europe.com
More informationLecture 8 : Coordinate Geometry. The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 20
Lecture 8 : Coordinate Geometry The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 0 distance on the axis and give each point an identity on the corresponding
More informationAlgebra 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 informationHeaps & Priority Queues in the C++ STL 2-3 Trees
Heaps & Priority Queues in the C++ STL 2-3 Trees CS 3 Data Structures and Algorithms Lecture Slides Friday, April 7, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks
More informationA binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property
CmSc 250 Intro to Algorithms Chapter 6. Transform and Conquer Binary Heaps 1. Definition A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called
More informationChapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to www.cadcim.com for more details. Learning Objectives
Chapter 1 Creating Sketches in Learning Objectives the Sketch Mode-I After completing this chapter you will be able to: Use various tools to create a geometry. Dimension a sketch. Apply constraints to
More informationOperations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later).
Binary search tree Operations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later). Data strutcure fields usually include for a given node x, the following
More informationGeometry 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 information2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION
2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION A world-coordinate area selected for display is called a window. An area on a display device to which a window is mapped is called a viewport. The window
More informationAngles 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 information1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The
More informationQuestions 1 through 25 are worth 2 points each. Choose one best answer for each.
Questions 1 through 25 are worth 2 points each. Choose one best answer for each. 1. For the singly linked list implementation of the queue, where are the enqueues and dequeues performed? c a. Enqueue in
More informationTriangulation 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 informationQuickstart for Desktop Version
Quickstart for Desktop Version What is GeoGebra? Dynamic Mathematics Software in one easy-to-use package For learning and teaching at all levels of education Joins interactive 2D and 3D geometry, algebra,
More informationSolutions to Homework 6
Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example
More informationLinear Programming Problems
Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number
More informationExternal Memory Geometric Data Structures
External Memory Geometric Data Structures Lars Arge Department of Computer Science University of Aarhus and Duke University Augues 24, 2005 1 Introduction Many modern applications store and process datasets
More informationClosest Pair of Points. Kleinberg and Tardos Section 5.4
Closest Pair of Points Kleinberg and Tardos Section 5.4 Closest Pair of Points Closest pair. Given n points in the plane, find a pair with smallest Euclidean distance between them. Fundamental geometric
More informationTables so far. set() get() delete() BST Average O(lg n) O(lg n) O(lg n) Worst O(n) O(n) O(n) RB Tree Average O(lg n) O(lg n) O(lg n)
Hash Tables Tables so far set() get() delete() BST Average O(lg n) O(lg n) O(lg n) Worst O(n) O(n) O(n) RB Tree Average O(lg n) O(lg n) O(lg n) Worst O(lg n) O(lg n) O(lg n) Table naïve array implementation
More informationFast Sequential Summation Algorithms Using Augmented Data Structures
Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik vadim.stadnik@gmail.com Abstract This paper provides an introduction to the design of augmented data structures that offer
More informationBig Data and Scripting. Part 4: Memory Hierarchies
1, Big Data and Scripting Part 4: Memory Hierarchies 2, Model and Definitions memory size: M machine words total storage (on disk) of N elements (N is very large) disk size unlimited (for our considerations)
More informationPlanar Curve Intersection
Chapter 7 Planar Curve Intersection Curve intersection involves finding the points at which two planar curves intersect. If the two curves are parametric, the solution also identifies the parameter values
More informationThe ADT Binary Search Tree
The ADT Binary Search Tree The Binary Search Tree is a particular type of binary tree that enables easy searching for specific items. Definition The ADT Binary Search Tree is a binary tree which has an
More informationInternational Journal of Software and Web Sciences (IJSWS) www.iasir.net
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International
More informationKTH Challenge 2013. Solutions. Further Information KTH Challenge 2013. April 21, 2013
April 21, Jury Lukáš Poláček (, Spotify), head of jury Per Austrin () Oskar Werkelin Ahlin (Spotify) Ulf Lundström () Marc Vinyals () Erik Aas () Emma Enström () Andreas Lundblad () B Peragrams Only one
More informationGeometry. Higher Mathematics Courses 69. Geometry
The fundamental purpose of the course is to formalize and extend students geometric experiences from the middle grades. This course includes standards from the conceptual categories of and Statistics and
More informationThe 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 informationSolving 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 informationDATA STRUCTURES USING C
DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give
More information2012 Ward s Natural Science
2012 Ward s Natural Science Contents Recommended System Requirements...3 Additional Assistance...3 QUICK START GUIDE Installation Instructions...4 How It Works...5 Your First View...6 Navigating the Library...7
More informationInternet Packet Filter Management and Rectangle Geometry
Internet Packet Filter Management and Rectangle Geometry David Eppstein S. Muthukrishnan Abstract We consider rule sets for internet packet routing and filtering, where each rule consists of a range of
More informationFace detection is a process of localizing and extracting the face region from the
Chapter 4 FACE NORMALIZATION 4.1 INTRODUCTION Face detection is a process of localizing and extracting the face region from the background. The detected face varies in rotation, brightness, size, etc.
More informationShortest 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 informationOutline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb
Binary Search Trees Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 27 1 Properties of Binary Search Trees 2 Basic BST operations The worst-case time complexity of BST operations
More informationSession 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 informationAlgorithms and Data Structures Written Exam Proposed SOLUTION
Algorithms and Data Structures Written Exam Proposed SOLUTION 2005-01-07 from 09:00 to 13:00 Allowed tools: A standard calculator. Grading criteria: You can get at most 30 points. For an E, 15 points are
More informationSymbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
More informationData Structures and Algorithm Analysis (CSC317) Intro/Review of Data Structures Focus on dynamic sets
Data Structures and Algorithm Analysis (CSC317) Intro/Review of Data Structures Focus on dynamic sets We ve been talking a lot about efficiency in computing and run time. But thus far mostly ignoring data
More informationSocial Media Mining. Graph Essentials
Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures
More informationReadings this week. 1 Parametric Equations Supplement. 2 Section 10.1. 3 Sections 2.1-2.2. Professor Christopher Hoffman Math 124
Readings this week 1 Parametric Equations Supplement 2 Section 10.1 3 Sections 2.1-2.2 Precalculus Review Quiz session Thursday equations of lines and circles worksheet available at http://www.math.washington.edu/
More information