Growing and Shrinking Polygons for Random Testing of Computational Geometry Algorithms
|
|
- Chester Bennett
- 5 years ago
- Views:
Transcription
1 Growing and Shrinking Polygons for Random Testing of Computational Geometry Algorithms Experience Report Ilya Sergey ICFP 2016 September 20th, 2016
2 Polygons
3 Polygons
4 Polygons
5 Polygons
6 Polygons are Trees
7 Polygons are Trees We can grow them;
8 Polygons are Trees We can grow them; We can also trim them;
9 Polygons are Trees We can grow them; We can also trim them; We can use QuickCheck to test their properties.
10
11
12
13 Would you like to run a scenario project this year?
14 Would you like to run a scenario project this year? Sure, why not.
15 Scenario Project Requirements
16 Scenario Project Requirements For 2nd year undergrads, team work,
17 Scenario Project Requirements For 2nd year undergrads, team work, One week-long,
18 Scenario Project Requirements For 2nd year undergrads, team work, One week-long, Should involve math and programming,
19 Scenario Project Requirements For 2nd year undergrads, team work, One week-long, Should involve math and programming, Challenging for students, but easy to assess,
20 Scenario Project Requirements For 2nd year undergrads, team work, One week-long, Should involve math and programming, Challenging for students, but easy to assess, To be delivered in about a month.
21 Scenario Project Requirements For 2nd year undergrads, team work, One week-long, Should involve math and programming, Challenging for students, but easy to assess, To be delivered in about a month.
22
23
24
25
26 How many guards do we really need?
27 How many guards do we really need? The answer depends on the shape of the gallery.
28 How many guards do we really need? The answer depends on the shape of the gallery.
29 How many guards do we really need? The answer depends on the shape of the gallery.
30 How many guards do we really need?
31 How many guards do we really need?
32 How many guards do we really need?
33 How many guards do we really need?
34 Art Gallery Problem For a given gallery (polygon), find the minimal set of guards positions, so together the guards can see the whole interior.
35 Art Gallery Problem For a given gallery (polygon), find the minimal set of guards positions, so together the guards can see the whole interior. NP-hard
36 Project: Art Gallery Competition Find the best solutions for a collection of large polygons.
37 Project: Art Gallery Competition Find the best solutions for a collection of large polygons. 58 vertices 5 guards
38 Organizers TODO
39 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.)
40 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.) Solution checker with online feedback geometric machinery (triangulation, visibility, ) web-server
41 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.) Solution checker with online feedback geometric machinery (triangulation, visibility, ) web-server Make sure that it all works.
42 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.) Solution checker with online feedback geometric machinery (triangulation, visibility, ) web-server Make sure that it all works.
43 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.) Solution checker with online feedback geometric machinery (triangulation, visibility, ) web-server Make sure that it all works.
44 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.) Solution checker with online feedback geometric machinery (triangulation, visibility, ) web-server Make sure that it all works.
45 Growing polygons
46 Growing polygons Primitive polygons with specific features
47 Growing polygons Primitive polygons with specific features
48 Seed Growing polygons
49 Seed Growing polygons
50 Growing polygons
51 Growing polygons
52 Growing polygons
53 Growing polygons
54 Growing polygons
55 Growing polygons
56 Growing polygons
57 Growing polygons
58 Growing polygons
59 Growing polygons
60 Growing polygons
61 Algorithm for growing polygons 1. Pick a primitive polygon; 2. Locate a segment on a host polygon edge; 3. Scale, rotate and attach the primitive; check for self-intersections 4. Repeat
62 Abstract polygon generator trait PolygonGenerator extends GeneratorPrimitives { val seeds : List[Polygon] val primitives : List[(Int) => Polygon] val locate : Double => Option[(Double, Double)] val seedfreqs val primfreqs : List[Int] : List[Int] val generations : Int }...
63 Abstract polygon generator trait PolygonGenerator extends GeneratorPrimitives { val seeds : List[Polygon] val primitives : List[(Int) => Polygon] val locate : Double => Option[(Double, Double)] val seedfreqs val primfreqs : List[Int] : List[Int] val generations : Int }...
64 Abstract polygon generator trait PolygonGenerator extends GeneratorPrimitives { val seeds : List[Polygon] val primitives : List[(Int) => Polygon] val locate : Double => Option[(Double, Double)] val seedfreqs val primfreqs : List[Int] : List[Int] val generations : Int }...
65 Abstract polygon generator trait PolygonGenerator extends GeneratorPrimitives { val seeds : List[Polygon] val primitives : List[(Int) => Polygon] val locate : Double => Option[(Double, Double)] val seedfreqs val primfreqs : List[Int] : List[Int] val generations : Int }...
66 Generating contest problems Rectilinear
67 Generating contest problems Quasi-convex
68 Generating contest problems Crazy
69 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.) Solution checker with online feedback geometric machinery (triangulation, visibility, ) web-server Make sure that it all works.
70 Organizers TODO Problem generator; Polygons with different features (convex, rectangular, etc.) Solution checker with online feedback geometric machinery (triangulation, visibility, ) web-server Make sure that it all works.
71 Testing with ScalaCheck
72 Testing with ScalaCheck Triangulation of a polygon of size N: centre of each triangle lies within a polygon; triangulation generates N 2 (possibly degenerate) triangles;
73 Testing with ScalaCheck Triangulation of a polygon of size N: centre of each triangle lies within a polygon; triangulation generates N 2 (possibly degenerate) triangles; Joe-Simpson algorithm for visibility polygons (VPs): a vertex of a VP is also within the original polygon; every VP s edge is within the original polygon; a random point within a VP is indeed visible from its origin;
74 Testing with ScalaCheck Triangulation of a polygon of size N: centre of each triangle lies within a polygon; triangulation generates N 2 (possibly degenerate) triangles; Joe-Simpson algorithm for visibility polygons (VPs): a vertex of a VP is also within the original polygon; every VP s edge is within the original polygon; a random point within a VP is indeed visible from its origin; Solution visibility checker: a refutation (if it exists) is within the original polygon; a refutation for a set of guards is not within any of their VPs;
75 Testing with ScalaCheck Triangulation of a polygon of size N: centre of each triangle lies within a polygon; triangulation generates N 2 (possibly degenerate) triangles; Joe-Simpson algorithm for visibility polygons (VPs): a vertex of a VP is also within the original polygon; every VP s edge is within the original polygon; a random point within a VP is indeed visible from its origin; Solution visibility checker: a refutation (if it exists) is within the original polygon; a refutation for a set of guards is not within any of their VPs; Basic algorithm for solving AGP by Fisk: delivers a solution of size within the boundary N/3 ; the solution checker finds no refutations for its result.
76 How well did that work?
77 How well did that work? Multiple bugs (>20) due to inaccurate treatment of floating points;
78 How well did that work? Multiple bugs (>20) due to inaccurate treatment of floating points; Several bugs (~10) due to misreading of the textbook algorithms or simplifications in their descriptions;
79 How well did that work? Multiple bugs (>20) due to inaccurate treatment of floating points; Several bugs (~10) due to misreading of the textbook algorithms or simplifications in their descriptions; Two bugs in the Joe-Simpson algorithm itself;
80 How well did that work? Multiple bugs (>20) due to inaccurate treatment of floating points; Several bugs (~10) due to misreading of the textbook algorithms or simplifications in their descriptions; Two bugs in the Joe-Simpson algorithm itself; Bonus: an undocumented behavior in the state-of-the-art CGAL library (written in C++ using exact arithmetics).
81 How well did that work? Multiple bugs (>20) due to inaccurate treatment of floating points; Several bugs (~10) due to misreading of the textbook algorithms or simplifications in their descriptions; Two bugs in the Joe-Simpson algorithm itself; Bonus: an undocumented behavior in the state-of-the-art CGAL library (written in C++ using exact arithmetics).
82 Testing basic visibility algorithm Main component for checking arbitrary solutions; Original description (1986) has a number of simplifications and is given in pseudocode.
83 Testing basic visibility algorithm import RandomRectilinearPolygonGenerator._ property("all visibility polygons lie within the original polygon") = forall { (p : Polygon) => val guards = p.vertices val vps = guards.map(visibilitypolygon(p, _)) "Every edge of a visibility polygon is within ${p}" : { val edges = for (vp <- vps; e <- vp.edges) yield e edges.forall(p.containssegment) } }
84 Testing basic visibility algorithm import RandomRectilinearPolygonGenerator._ property("all visibility polygons lie within the original polygon") = forall { (p : Polygon) => val guards = p.vertices val vps = guards.map(visibilitypolygon(p, _)) "Every edge of a visibility polygon is within ${p}" : { val edges = for (vp <- vps; e <- vp.edges) yield e edges.forall(p.containssegment) } }
85 Testing basic visibility algorithm import RandomRectilinearPolygonGenerator._ property("all visibility polygons lie within the original polygon") = forall { (p : Polygon) => val guards = p.vertices val vps = guards.map(visibilitypolygon(p, _)) "Every edge of a visibility polygon is within ${p}" : { val edges = for (vp <- vps; e <- vp.edges) yield e edges.forall(p.containssegment) } }
86 Testing basic visibility algorithm import RandomRectilinearPolygonGenerator._ property("all visibility polygons lie within the original polygon") = forall { (p : Polygon) => val guards = p.vertices val vps = guards.map(visibilitypolygon(p, _)) "Every edge of a visibility polygon is within ${p}" : { val edges = for (vp <- vps; e <- vp.edges) yield e edges.forall(p.containssegment) } }
87 Bug in Joe-Simpson algorithm Randomly generated, 260 vertices, guards in every node
88 Bug in Joe-Simpson algorithm Randomly generated, 260 vertices, guards in every node??!
89 Shrinking Polygons
90 Trimming Shrinking Polygons
91 Reconstructing polygon generation
92 Reconstructing polygon generation
93 Reconstructing polygon generation Attachment tree
94 Trimming polygons
95 Trimming polygons
96 Shrinking strategy Build the attachment tree while constructing a random polygon; Construct all its subtrees; Render the corresponding trimmed polygons.
97 Bug in Joe-Simpson algorithm Randomly generated, 260 vertices, guards in every node
98 Bug in Joe-Simpson algorithm Randomly generated, 260 vertices, guards in every node
99 Bug in Joe-Simpson algorithm After trimming, 20 vertices
100 Bug in Joe-Simpson algorithm Removed irrelevant guards
101 Bug in Joe-Simpson algorithm
102 Bug in Joe-Simpson algorithm
103 Bug in Joe-Simpson algorithm... intersectwithwindow(v(i), v(i + 1), s.top, windowend) match { } case Some(p) => s.push(p) advance(v, s, i) case _ => scan(v, s, i, windowend, ccw)...
104 Bug in Joe-Simpson algorithm... intersectwithwindow(v(i), v(i + 1), s.top, windowend) match { } case Some(p) if!(windowend.isdefined && p =~= windowend) => s.push(p) advance(v, s, i) case _ => scan(v, s, i, windowend, ccw)...
105 Implementation effort Geometric primitives and procedures: 1450 LOC Server infrastructure: 1500 LOC Testing framework: 350 LOC
106 Running the Art Gallery Competition
107 Running the Art Gallery Competition 94 participants, 24 teams, 2360 submissions in five days
108 Running the Art Gallery Competition 94 participants, 24 teams, 2360 submissions in five days Server running 24/5 for different teams, solution processed concurrently no crashes during the week one non-critical bug in server logic (fixed without restarting)
109 Running the Art Gallery Competition 94 participants, 24 teams, 2360 submissions in five days Server running 24/5 for different teams, solution processed concurrently no crashes during the week one non-critical bug in server logic (fixed without restarting) Most of the solutions: textbook algorithm with optimizations;
110 Running the Art Gallery Competition 94 participants, 24 teams, 2360 submissions in five days Server running 24/5 for different teams, solution processed concurrently no crashes during the week one non-critical bug in server logic (fixed without restarting) Most of the solutions: textbook algorithm with optimizations; The winning team implemented the state-of-the art algorithm (2014) using linear programming;
111 Fri The Wed Tue Mon
112 To take away
113 To take away FP works great for rapid development of non-trivial and robust geometric applications;
114 To take away FP works great for rapid development of non-trivial and robust geometric applications; QuickCheck-ing CG with polygons is feasible and efficient in practice;
115 To take away FP works great for rapid development of non-trivial and robust geometric applications; QuickCheck-ing CG with polygons is feasible and efficient in practice; Polygons can be grown and trimmed, just like trees.
116 To take away FP works great for rapid development of non-trivial and robust geometric applications; QuickCheck-ing CG with polygons is feasible and efficient in practice; Polygons can be grown and trimmed, just like trees. Thanks!
Scenario Week 4: Art Gallery Competition
Scenario Week 4: Art Gallery Competition Organisers' Report scenario@cs.ucl.ac.uk 26 February 2016 The Week 94 participants 24 teams 1892 468 submissions for Part 2 One submissions for Part 1 subtle server
More informationComputational Geometry [csci 3250]
Computational Geometry [csci 3250] Laura Toma Bowdoin College The Art Gallery Problem The Art Gallery Problem Imagine an art gallery whose floor plan is a simple polygon, and a guard (a point) inside the
More informationThe Art Gallery Problem
The Art Gallery Problem Imagine an art gallery whose floor plan is a simple polygon, and a guard (a point) inside the gallery. Computational Geometry [csci 3250] The Art Gallery Problem Laura Toma Bowdoin
More informationGrowing and Shrinking Polygons for Random Testing of Computational Geometry Algorithms
Growing and Shrinking Polygons for Random Testing of Computational Geometry Algorithms Experience Report Ilya Sergey University College London, UK i.sergey@ucl.ac.uk Abstract This paper documents our experience
More informationExperience Report: Growing and Shrinking Polygons for Random Testing of Computational Geometry Algorithms
Experience Report: Growing and Shrinking Polygons for Random Testing of Computational Geometry Algorithms Ilya Sergey University College London, UK i.sergey@ucl.ac.uk Abstract This paper documents our
More informationPolygon Triangulation. (slides partially by Daniel Vlasic )
Polygon Triangulation (slides partially by Daniel Vlasic ) Triangulation: Definition Triangulation of a simple polygon P: decomposition of P into triangles by a maximal set of non-intersecting diagonals
More informationProjects & Polygon Triangulation
Computational Geometry Lecture Projects & INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS Tamara Mchedlidze Darren Strash 02.11.2015 1 Projects 2 Project Specifications Groups: 2 or 3 students,
More informationComputational Geometry
Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is
More informationOutline. CGAL par l exemplel. Current Partners. The CGAL Project.
CGAL par l exemplel Computational Geometry Algorithms Library Raphaëlle Chaine Journées Informatique et GéomG ométrie 1 er Juin 2006 - LIRIS Lyon Outline Overview Strengths Design Structure Kernel Convex
More informationPractical Linear Algebra: A Geometry Toolbox
Practical Linear Algebra: A Geometry Toolbox Third edition Chapter 18: Putting Lines Together: Polylines and Polygons Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book
More informationLecture 11 Combinatorial Planning: In the Plane
CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Lecture 11 Combinatorial Planning: In the Plane Instructor: Jingjin Yu Outline Convex shapes, revisited Combinatorial planning
More informationCoverage and Search Algorithms. Chapter 10
Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how to break down an environment into simple convex pieces
More informationLuiz Fernando Martha André Pereira
IRSES Project TUG - Graz, Austria June 2014 Numerical simulation in technical sciences Computer Graphics for Engineering Luiz Fernando Martha André Pereira Speakers A little bit about us Research Group
More informationThe Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards
The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards Nicole Chesnokov May 16, 2018 Contents 1 Introduction 2 2 The Art Gallery Problem 3 2.1 Proof..................................
More informationPolygon Triangulation. (slides partially by Daniel Vlasic )
Polygon Triangulation (slides partially by Daniel Vlasic ) Triangulation: Definition Triangulation of a simple polygon P: decomposition of P into triangles by a maximal set of non-intersecting diagonals
More informationWeek 2 Polygon Triangulation
Week 2 Polygon Triangulation What is a polygon? Last week A polygonal chain is a connected series of line segments A closed polygonal chain is a polygonal chain, such that there is also a line segment
More informationMa/CS 6b Class 26: Art Galleries and Politicians
Ma/CS 6b Class 26: Art Galleries and Politicians By Adam Sheffer The Art Gallery Problem Problem. We wish to place security cameras at a gallery, such that they cover it completely. Every camera can cover
More informationPreferred directions for resolving the non-uniqueness of Delaunay triangulations
Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation
More informationAMS 345/CSE 355 Computational Geometry
AMS 345/CSE 355 Computational Geometry Lecture: Polygons, Guarding Joe Mitchell Do You Like Puzzles? Come to the new Stony Brook Puzzle Society Meets: Friday 1:05-2:30 pm at CSE 2120 Organizer: Pramod
More informationProject 1: Convex hulls and line segment intersection
MCS 481 / David Dumas / Spring 2014 Project 1: Convex hulls and line segment intersection Due at 10am on Monday, February 10 0. Prerequisites For this project it is expected that you already have CGAL
More informationThree applications of Euler s formula. Chapter 10
Three applications of Euler s formula Chapter 10 A graph is planar if it can be drawn in the plane R without crossing edges (or, equivalently, on the -dimensional sphere S ). We talk of a plane graph if
More informationProfessor: Padraic Bartlett. Lecture 9: Trees and Art Galleries. Week 10 UCSB 2015
Math 7H Professor: Padraic Bartlett Lecture 9: Trees and Art Galleries Week 10 UCSB 2015 1 Prelude: Graph Theory This talk uses the mathematical concepts of graphs from our previous class. In particular,
More informationCS6100: Topics in Design and Analysis of Algorithms
CS6100: Topics in Design and Analysis of Algorithms Guarding and Triangulating Polygons John Augustine CS6100 (Even 2012): Guarding and Triangulating Polygons The Art Gallery Problem A simple polygon is
More informationPolygon reconstruction from local observations
Polygon reconstruction from local observations work by D. Bilò, J. Chalopin, S. Das, Y. Disser, B. Gfeller, M. Mihalák, S. Suri, E. Vicari, P. Widmayer MITACS, Ottawa, Jan 31, 2011 Robots with Little Sensing
More information2D Drawing Primitives
THE SIERPINSKI GASKET We use as a sample problem the drawing of the Sierpinski gasket an interesting shape that has a long history and is of interest in areas such as fractal geometry. The Sierpinski gasket
More informationGeometric Computation: Introduction
: Introduction Piotr Indyk Welcome to 6.838! Overview and goals Course Information Syllabus 2D Convex hull Signup sheet Geometric computation occurs everywhere: Geographic Information Systems (GIS): nearest
More informationProject 1: Convex hulls and line segment intersection
MCS 481 / David Dumas / Spring 2012 Project 1: Convex hulls and line segment intersection Due at 2pm on Monday, February 6 0. Requirements In order to complete this project you will need CGAL and a compatible
More informationPolygon decomposition. Motivation: Art gallery problem
CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Convex decomposition
More informationSolutions to problem set 1
Massachusetts Institute of Technology Handout 5 6.838: Geometric Computation October 4, 2001 Professors Piotr Indyk and Seth Teller Solutions to problem set 1 (mostly taken from the solution set of Jan
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 information3D Reconstruction from Scene Knowledge
Multiple-View Reconstruction from Scene Knowledge 3D Reconstruction from Scene Knowledge SYMMETRY & MULTIPLE-VIEW GEOMETRY Fundamental types of symmetry Equivalent views Symmetry based reconstruction MUTIPLE-VIEW
More informationImplementing Geometric Algorithms. Wouter van Toll June 20, 2017
Implementing Geometric Algorithms Wouter van Toll June 20, 2017 Introduction 6/20/2017 Lecture: Implementing Geometric Algorithms 2 Focus of this course Create algorithms to solve geometric problems Prove
More informationCoverage and Search Algorithms. Chapter 10
Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how break down an environment in simple convex pieces To
More informationNotes and Answers to Homework Exam 1, Geometric Algorithms, 2017
Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017 Below are some notes and sketches of correct answers for the first homework exam. We have also included the most common mistakes that were
More informationPolygon Triangulation
Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon into triangles). Computational Geometry [csci 3250] Polygon Triangulation Laura Toma
More informationComputational Geometry [csci 3250]
Computational Geometry [csci 3250] Laura Toma Bowdoin College Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon
More informationLecture 4: Trees and Art Galleries
Math 7H: Honors Seminar Professor: Padraic Bartlett Lecture 4: Trees and Art Galleries Week 2 UCSB 2014 1 Prelude: Graph Theory In this talk, we re going to refer frequently to things called graphs and
More informationCS 532: 3D Computer Vision 11 th Set of Notes
1 CS 532: 3D Computer Vision 11 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Line Intersection
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationLectures 19: The Gauss-Bonnet Theorem I. Table of contents
Math 348 Fall 07 Lectures 9: The Gauss-Bonnet Theorem I Disclaimer. As we have a textbook, this lecture note is for guidance and supplement only. It should not be relied on when preparing for exams. In
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 informationClipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling
Clipping & Culling Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,
More informationLecture 1: September 6, 2001
Lecture 1: September 6, 2001 Welcome to 6.838J, Geometric Computation! Introductions Overview and Goals General Information Syllabus 2D Convex Hull Signup sheets (return by end of class) MIT 6.838J/4.214J
More informationUMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels. Spring, Project
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Project Project Deliverables Deliverable Due Date Grade % Proposal & Lead Class Discussion
More informationEvolutionary Approaches for Resilient Surveillance Management. Ruidan Li and Errin W. Fulp. U N I V E R S I T Y Department of Computer Science
Evolutionary Approaches for Resilient Surveillance Management Ruidan Li and Errin W. Fulp WAKE FOREST U N I V E R S I T Y Department of Computer Science BioSTAR Workshop, 2017 Surveillance Systems Growing
More informationFinding sets of points without empty convex 6-gons. Mark H. Overmars
Finding sets of points without empty convex 6-gons Mark H. Overmars UU-CS-2001-07 February 2001 Finding sets of points without empty convex 6-gons Mark Overmars Department of Information and Computing
More information3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :
3. Voronoi Diagrams Examples : 1. Fire Observation Towers Imagine a vast forest containing a number of fire observation towers. Each ranger is responsible for extinguishing any fire closer to her tower
More informationTools, Generic Programming, CGAL, and 2D Arrangement of CGAL
Tools, Generic Programming, CGAL, and 2D Arrangement of CGAL Efi Fogel efif@post.tau.ac.il School of computer science, Tel Aviv University Spring 2004 Motion Planning workshop 1/23 Tools, Toolkits, and
More informationParallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece
Parallel Computation of Spherical Parameterizations for Mesh Analysis Th. Athanasiadis and I. Fudos, Greece Introduction Mesh parameterization is a powerful geometry processing tool Applications Remeshing
More informationLattice Polygon s and Pick s Theorem From Dana Paquin and Tom Davis 1 Warm-Up to Ponder
Lattice Polygon s and Pick s Theorem From Dana Paquin and Tom Davis http://www.geometer.org/mathcircles/pick.pdf 1 Warm-Up to Ponder 1. Is it possible to draw an equilateral triangle on graph paper so
More informationMIT EECS 6.837, Teller and Durand 1
MIT EECS 6.837, Teller and Durand 1 Clipping MIT EECS 6.837 Frédo Durand and Seth Teller Some slides and images courtesy of Leonard McMillan MIT EECS 6.837, Teller and Durand 2 Administrative Assignment
More informationHow Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park
How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park http://www.cs.umd.edu/~sorelle Outline Introduction Algorithms Computational Geometry Art Museum Problem
More informationCSCI 4620/8626. Computer Graphics Clipping Algorithms (Chapter 8-5 )
CSCI 4620/8626 Computer Graphics Clipping Algorithms (Chapter 8-5 ) Last update: 2016-03-15 Clipping Algorithms A clipping algorithm is any procedure that eliminates those portions of a picture outside
More informationThe SUMO Speaker Series for Undergraduates. The Art Gallery Problem
The SUMO Speaker Series for Undergraduates (food from Pizza Chicago) Wednesday, April 21 4:40-5:30, room 380C The Art Gallery Problem Amy Pang Abstract: Imagine you are the curator of an art gallery with
More informationFrom Vertices To Fragments-1
From Vertices To Fragments-1 1 Objectives Clipping Line-segment clipping polygon clipping 2 Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives
More informationCS368: Geometric Algorithms Handout # 2 Design and Analysis Stanford University Monday, 17 April 2006
CS368: Geometric Algorithms Handout # 2 Design and Analysis Stanford University Monday, 17 April 2006 Homework #1: Arrangements, zones, straight and topological sweeps [70 points] Due Date: Monday, 1 May
More informationGeometric Rounding. Snap rounding arrangements of segments. Dan Halperin. Tel Aviv University. AGC-CGAL05 Rounding 1
Geometric Rounding Snap rounding arrangements of segments Dan Halperin danha@tau.ac.il Tel Aviv University AGC-CGAL05 Rounding 1 Rounding geometric objects transforming an arbitrary precision object into
More informationCSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October
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 informationUnit 3 Transformations and Clipping
Transformation Unit 3 Transformations and Clipping Changes in orientation, size and shape of an object by changing the coordinate description, is known as Geometric Transformation. Translation To reposition
More information1/25 Warm Up Find the value of the indicated measure
1/25 Warm Up Find the value of the indicated measure. 1. 2. 3. 4. Lesson 7.1(2 Days) Angles of Polygons Essential Question: What is the sum of the measures of the interior angles of a polygon? What you
More informationDiscrete Mathematics I So Practice Sheet Solutions 1
Discrete Mathematics I So 2016 Tibor Szabó Shagnik Das Practice Sheet Solutions 1 Provided below are possible solutions to the questions from the practice sheet issued towards the end of the course. Exercise
More informationAlgorithms. Daniel G. Aliaga. Computer Science Department Purdue University
Art Gallery Theorems and Algorithms Daniel G. Aliaga Computer Science Department Purdue University Art Gallery Problem: determine the minimum number of guards sufficient to cover the interior of an n-wall
More informationPath Planning for Point Robots. NUS CS 5247 David Hsu
Path Planning for Point Robots NUS CS 5247 David Hsu Problem Input Robot represented as a point in the plane Obstacles represented as polygons Initial and goal positions Output A collision-free path between
More informationCS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension
CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture
More informationComputer Science 474 Spring 2010 Viewing Transformation
Viewing Transformation Previous readings have described how to transform objects from one position and orientation to another. One application for such transformations is to create complex models from
More informationFast Computation of Generalized Voronoi Diagrams Using Graphics Hardware
Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware paper by Kennet E. Hoff et al. (University of North Carolina at Chapel Hill) presented by Daniel Emmenegger GDV-Seminar ETH Zürich,
More informationf-v v-f f-e e-f f-f e-e-cross e-v v-e degenerate PCs e-e-touch v-v
Planning Motion Compliant to Complex Contact States Λ uerong Ji, Jing iao Computer Science Department University of North Carolina - Charlotte Charlotte, NC 28223, US xji@uncc.edu, xiao@uncc.edu bstract
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 informationCorrectness. The Powercrust Algorithm for Surface Reconstruction. Correctness. Correctness. Delaunay Triangulation. Tools - Voronoi Diagram
Correctness The Powercrust Algorithm for Surface Reconstruction Nina Amenta Sunghee Choi Ravi Kolluri University of Texas at Austin Boundary of a solid Close to original surface Homeomorphic to original
More informationParallel or Perpendicular? How Can You Tell? Teacher Notes Page 1 of 6
Teacher Notes How can a student be sure when lines are parallel or perpendicular to a given graph using the graphing calculator? The difficulty lies in matching a mechanical graph that is on a rectangular
More informationUnknot recognition, linear programming and the elusive polynomial time algorithm
Unknot recognition, linear programming and the elusive polynomial time algorithm Benjamin Burton The University of Queensland June 16, 2011 1 / 28 2 / 28 Outline 1 Decision problems in geometric topology
More informationClipping a Mesh Against a Plane
Clipping a Mesh Against a Plane David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To
More informationIndiana State Math Contest Geometry
Indiana State Math Contest 018 Geometry This test was prepared by faculty at Indiana University - Purdue University Columbus Do not open this test booklet until you have been advised to do so by the test
More informationCS452/552; EE465/505. Clipping & Scan Conversion
CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:
More informationCSE (Computational Geometry) SYLLABUS
CSE 5392-016 (Computational Geometry) SYLLABUS Spring 2005: TR 5:30-6:50, Preston Hall 100 Instructor: Bob Weems, Associate Professor (weems@uta.edu, http://reptar.uta.edu) Office: 344 Nedderman, 817/272-2337
More information: Mesh Processing. Chapter 8
600.657: Mesh Processing Chapter 8 Handling Mesh Degeneracies [Botsch et al., Polygon Mesh Processing] Class of Approaches Geometric: Preserve the mesh where it s good. Volumetric: Can guarantee no self-intersection.
More informationConstrained Delaunay Triangulations (CDT)
Constrained Delaunay Triangulations (CDT) Recall: Definition 1 (Constrained triangulation). A triangulation with prespecified edges or breaklines between nodes. Motivation: Geological faults in oil recovery
More informationTriangulation by Ear Clipping
Triangulation by Ear Clipping David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To
More informationTOPIC 16 STUDY GUIDE LINES, ANGLES AND SHAPES
Name: Teacher: TOPIC 16 STUDY GUIDE LINES, ANGLES AND SHAPES Study Guide Due: Test Date: Parents, 4th Graders are focusing on giving their best effort. One way to show that they are going above and beyond
More informationOrientable Closed/ Boundary-less 2-manifold This wireframe study of a chalice was painted by the Italian Renaissance artist Paolo Uccello around 1460. Today 3D polygonal meshes are the dominant representation
More informationInterference-Free Polyhedral Configurations for Stacking
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 18, NO. 2, APRIL 2002 147 Interference-Free Polyhedral Configurations for Stacking Venkateswara R. Ayyadevara, David A. Bourne, Kenji Shimada, and Robert
More informationMISCELLANEOUS SHAPES
MISCELLANEOUS SHAPES 4.1. INTRODUCTION Five generic shapes of polygons have been usefully distinguished in the literature: convex, orthogonal, star, spiral, and monotone. 1 Convex polygons obviously do
More informationLinear Programming. Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015
Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Linear Programming 2015 Goodrich and Tamassia 1 Formulating the Problem q The function
More informationComputational Geometry Algorithms Library. Pierre Alliez INRIA
Computational Geometry Algorithms Library Pierre Alliez INRIA Mission Statement Make the large body of geometric algorithms developed in the field of computational geometry available for industrial applications
More informationPlanar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College
Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hull Given a set P of points in 2D, their convex hull is the smallest convex polygon that contains all points
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 informationQuadratic-Time Linear-Space Algorithms for Generating Orthogonal Polygons with a Given Number of Vertices
Quadratic-Time Linear-Space Algorithms for Generating Orthogonal Polygons with a Given Number of Vertices Ana Paula Tomás 1 and António Leslie Bajuelos 2 1 DCC-FC & LIACC, University of Porto, Portugal
More informationChapter 12: Fractal Geometry The Koch Snowflake and Self-Similarity
Chapter 12: Fractal Geometry 12.1 The Koch Snowflake and Self-Similarity Geometric Fractal Our first example of a geometric fractal is a shape known as the Koch snowflake, named after the Swedish mathematician
More informationArt Gallery Theorems and Algorithms
Art Gallery Art Gallery Theorems and Algorithms Daniel G. Aliaga Computer Science Department Purdue University Problem: determine the minimum number of guards sufficient to cover the interior of an n-wall
More informationRubber bands. Chapter Rubber band representation
Chapter 1 Rubber bands In the previous chapter, we already used the idea of looking at the graph geometrically, by placing its nodes on the line and replacing the edges by rubber bands. Since, however,
More informationA chromatic art gallery problem
A chromatic art gallery problem Lawrence H. Erickson and Steven M. LaValle Department of Computer Science University of Illinois at Urbana-Champaign Urbana, IL 61801 USA {lericks4, lavalle}@uiuc.edu Abstract
More informationTopic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?
EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L0101, W 12-2pm
More informationComputational geometry
Computational geometry Inge Li Gørtz CLRS Chapter 33.0, 33.1, 33.3. Computational Geometry Geometric problems (this course Euclidean plane). Does a set of line segments intersect, dividing plane into regions,
More informationTriangle Rasterization
Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling
More informationDistance Preserving Terrain Simplification An Experimental Study
Distance Preserving Terrain Simplification An Experimental Study Boaz Ben-Moshe 1 Matthew J. Katz 2 Igor Zaslavsky 2 1 Department of Computer Science College of Judea and Samaria, Ariel 44837, Israel benmo@yosh.ac.il
More informationLinear time 8/3-approx. of r-star guards in simple orthogonal art galleries
Linear time 8/3-approx. of r-star guards in simple orthogonal art galleries Ervin Győri & Tamás Róbert Mezei 1 ICGT 2018, July 9, Lyon 1 Alfréd Rényi Institute of Mathematics, Hungarian Academy of Sciences
More informationCulling. Computer Graphics CSE 167 Lecture 12
Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are
More informationLecture 14: Computational Geometry Steven Skiena. skiena
Lecture 14: Computational Geometry Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Line Segments Arbitrary closed curves
More informationCS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Lecture 2: Graphics Pipeline Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices - raster displays show images as a rectangular array
More information