I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.

Slides:



Advertisements
Similar presentations
Two Segments Intersect?
Advertisements

Polygon Triangulation
Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Andries van Dam September 30, D Clipping 1/14 Clipping (pages , )
Computational Geometry
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Polygon overlay in double precision arithmetic One example of why robust geometric code is hard to write Jack Snoeyink & Andrea Mantler Computer Science,
Brute-Force Triangulation
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
Convex Hull obstacle start end Convex Hull Convex Hull
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.
Computer Graphics Viewing.
Viewing & Clipping In 2D. 2 of 44 Contents Windowing Concepts Clipping –Introduction –Brute Force –Cohen-Sutherland Clipping Algorithm Area Clipping –Sutherland-Hodgman.
Overlay of Two Subdivisions
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
November 4, Algorithms and Data Structures Lecture XIV Simonas Šaltenis Nykredit Center for Database Research Aalborg University
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
Computational Geometry -- Voronoi Diagram
6/2/ :35 AMIncremental Convex Hull1 q w u e zt.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Lecture 2 Chapter 2: Polygon Partitioning.
Linear Programming Computational Geometry, WS 2007/08 Lecture 7, Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Polygon Triangulation Computational Geometry, WS 2007/08 Lecture 9 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
The Art Gallery Problem
Brute-Force Triangulation
MS. WILLIAMS Anatomy of a 3D Model. 3D Model 3D Models are one of the essential building blocks of 3D computer graphics. Without them there would be no.
Geometric Algorithms1 segment intersection orientation point inclusion simple closed path.
Advanced Algorithm Design and Analysis (Lecture 9) SW5 fall 2004 Simonas Šaltenis E1-215b
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Triangulating a monotone polygon
Polygons Polygons. Polygon Any shape where every segment intersects exactly two others at its endpoints.
UNC Chapel Hill M. C. Lin Linear Programming Reading: Chapter 4 of the Textbook Driving Applications –Casting/Metal Molding –Collision Detection Randomized.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
RA PRESENTATION Sublinear Geometric Algorithms B 張譽馨 B 汪牧君 B 李元翔.
1 Triangulation Supplemental From O’Rourke (Chs. 1&2) Fall 2005.
College of Computer and Information Science, Northeastern UniversityMay 27, CS 4300 Computer Graphics Prof. Harriet Fell Fall 2012 Lecture 9 – September.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
6.1 Polygons.
Computational Geometry: Intersection Search Joseph S. B. Mitchell Stony Brook University.
1 Computer Graphics Clipping Fall FCC Line Clipping What happens when one or both endpoints of a line segment are not inside the specified drawing.
12.1 Exploring Solids.
1/29/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries Carola Wenk.
UNC Chapel Hill M. C. Lin Computing Voronoi Diagram For each site p i, compute the common inter- section of the half-planes h(p i, p j ) for i  j, using.
Convex Sets & Concave Sets A planar region R is called convex if and only if for any pair of points p, q in R, the line segment pq lies completely in R.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
How to identify complex events in the real world First part : Vision –Image segmentation –Checking for basic events : touching, intersecting, moving, pointing,
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.
Polygon Triangulation
Computational Geometry
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
Introduction to Polygons
Computer Graphics CC416 Week 13 Clipping.
Transformations contd.
The Art Gallery Problem
Computational Geometry Capter:1-2.1
The Art Gallery Problem
Convex Sets & Concave Sets
I. The Problem of Molding
Prof. Harriet Fell Fall 2011 Lecture 9 – September 26, 2011
Overlay of Two Subdivisions
Unit 4 Vocabulary Coordinate Plane: A plane, also called a coordinate grid or coordinate system, in which a horizontal number line and a vertical.
Presentation transcript:

I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object is polyhedral. The mold has only one piece. Spherical objects cannot be manufactured using a mold of one piece. The object should be removed by only a single translation. Real screws cannot be removed by just a translation. mold 2

Castability How to choose the orientation? The object has a horizontal top facet – the only one not in contact with the mold. # possible orientations = # facets. An object is castable if it is removable from its mold for one of the orientations. Because every facet may become horizontal. How to determine that the object is castable? For each potential orientation, determine whether there exists a direction along which the object can be removed from the mold.

Making Things More Precise polyhedron The mold is a rectangular block with a concavity that exactly matches the polyhedron.

Necessary Condition for Removal polyhedron  (necessary condition) angle between two vectors

Also a Sufficient Condition Proof  (  ) By contradiction. (  ) By contradiction.

One Trans. vs. Multiple Trans. Polyhedron removable by a sequence of translations. Allowing for multiple translations does not help.

Representing a Direction

Geometric Interpretation

Geometric Formulation The intersection of all such half-planes is the set of points that correspond to a direction in which the polygon can be removed. Given a set of half-planes, compute their common intersection. Castability test: Enumerate all facets as top facet.

II. Intersection of Half-Planes Their intersection must be a convex set, more specifically, each a convex set! A convex polygonal region. May be unbounded May degenerate into a line, segment, a point, or an empty set.

Some Possible Cases

A Divide-and-Conquer Algorithm

Intersection of Convex Regions #vertices#intersections Modify the algorithm to intersect two convex regions.

The Recurrence

Improvement The subroutine for intersection of convex regions is a transplant from that for intersecting two simple polygons. We made use of the convexity in our analysis. Can we do better? But we haven’t taken full advantage of convexity yet … Yes! Assumption (non-degeneracy): The regions to be intersected are 2-dimensional. (The degenerate cases are easier.)

Representing a Convex Region left boundary right boundary Left and right boundaries as sorted lists of half-planes during traversals from top to bottom. Vertices can be easily computed by intersecting consecutive bounding lines. But they are stored explicitly.

Plane Sweep Again Assumption: no horizontal edge (easy to dealt with if not true). l_e_C1, r_e_C1, l_e_C2, r_e_C2 At most four edges intersecting the sweep line. Corresponding pointer set to nil if no intersection. r_e_C1r_e_C1 l_e_C1l_e_C1 l_e_C2l_e_C2 r_e_C2 = nil

No Event Queue Next event point: Highest of the lower endpoints of the four edges that intersect the sweep line. Start at The new edge e is one of the following:

Left Boundary of Chain 1 This can be determined by checking whether p is between l_e_C2 and r_e_C2. l_e_C2l_e_C2 l_e_C2l_e_C2 2 new edges

cont’d e intersects r_e_C2. r_e_C2r_e_C2 r_e_C2r_e_C2 Case 1. The new edges start at the intersection. Case 2. The new edges end at the intersection. Do nothing because these edges have been discovered.

Running Time Recurrence for the total running time: