3D convex hulls. Convex Hull in 3D. convex polyhedron. convex polyhedron. The problem: Given a set P of points in 3D, compute their convex hull

Similar documents
Convex Hull Algorithms. Convex hull: basic facts

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

10.2 Graph Terminology and Special Types of Graphs

PROBLEM OF APOLLONIUS

Solids. Solids. Curriculum Ready.

CS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College

Graph theory Route problems

Greedy Algorithm. Algorithm Fall Semester

5 ANGLES AND POLYGONS

MITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam

V = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V)

COMMON FRACTIONS. or a / b = a b. , a is called the numerator, and b is called the denominator.

Geometric Algorithms. Geometric Algorithms. Warning: Intuition May Mislead. Geometric Primitives

CS 241 Week 4 Tutorial Solutions

Uninformed Search. Hal Daumé III. Computer Science University of Maryland CS 421: Introduction to Artificial Intelligence 31 Jan 2012

Internet Routing. Reminder: Routing. CPSC Network Programming

a c = A C AD DB = BD

Premaster Course Algorithms 1 Chapter 6: Shortest Paths. Christian Scheideler SS 2018

Distance vector protocol

WORKSHOP 9 HEX MESH USING SWEEP VECTOR

Final Exam Review F 06 M 236 Be sure to look over all of your tests, as well as over the activities you did in the activity book

Tight triangulations: a link between combinatorics and topology

2 Computing all Intersections of a Set of Segments Line Segment Intersection

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Mesh Simplification Overview.

COMP108 Algorithmic Foundations

Line The set of points extending in two directions without end uniquely determined by two points. The set of points on a line between two points

1 Disjoint-set data structure.

Calculus Differentiation

Advanced Programming Handout 5. Enter Okasaki. Persistent vs. Ephemeral. Functional Queues. Simple Example. Persistent vs.

UNCORRECTED SAMPLE PAGES. Angle relationships and properties of 6geometrical figures 1. Online resources. What you will learn

Lecture 8: Graph-theoretic problems (again)

Enumerating pseudo-triangulations in the plane

Lesson 4.4. Euler Circuits and Paths. Explore This

Bayesian Networks: Directed Markov Properties (Cont d) and Markov Equivalent DAGs

COT5405: GEOMETRIC ALGORITHMS

Paradigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms

The four lines of symmetry have been drawn on the shape.

CS-184: Computer Graphics. Today

50 AMC LECTURES Lecture 2 Analytic Geometry Distance and Lines. can be calculated by the following formula:

Width and Bounding Box of Imprecise Points

Structure in solution spaces: Three lessons from Jean-Claude

Compilers Spring 2013 PRACTICE Midterm Exam

CS311H: Discrete Mathematics. Graph Theory IV. A Non-planar Graph. Regions of a Planar Graph. Euler s Formula. Instructor: Işıl Dillig

Last Time? Ray Casting II. Explicit vs. Implicit? Assignment 1: Ray Casting. Object-Oriented Design. Graphics Textbooks

Neo-Flex Slide-out Keyboard Tray Wall Mount

Lecture 13: Graphs I: Breadth First Search

s 1 t 4 s 2 4 t 2 a b r 2 r 8 r10 g 4

Orthogonal line segment intersection

Journal of Combinatorial Theory, Series A

Recap: rigid motions. [L7] Robotics (ME671): Forward Kinematics. Recap: homogeneous transforms. Robot Kinematics Suril Shah IIT Jodhpur

Solutions to Tutorial 2 (Week 9)

Lecture 12 : Topological Spaces

CMPUT101 Introduction to Computing - Summer 2002

Section 2.3 Functions. Definition: Let A and B be sets. A function (mapping, map) f from A to B, denoted f :A B, is a subset of A B such that

Graduate Algorithms CS F-19 Computational Geometry

Measurement and geometry

Computational geometry

The Structure of Forward, Reverse, and Transverse Path Graphs in The Pattern Recognition Algorithms of Sellers

12/9/14. CS151 Fall 20124Lecture (almost there) 12/6. Graphs. Seven Bridges of Königsberg. Leonard Euler

WORKSHOP 19 GLOBAL/LOCAL MODELING USING FEM FIELDS

Graph Contraction and Connectivity

CSc 453 Compilers and Systems Software. 6 : Top-Down Parsing I

FEEDBACK: The standard error of a regression is not an unbiased estimator for the standard deviation of the error in a multiple regression model.

Order these angles from smallest to largest by wri ng 1 to 4 under each one. Put a check next to the right angle.

Outline. CS38 Introduction to Algorithms. Graphs. Graphs. Graphs. Graph traversals

Computer Graphics Inf4/MSc. Computer Graphics. Lecture 6 View Projection Taku Komura

TOPIC 10 THREE DIMENSIONAL GEOMETRY

6.3 Volumes. Just as area is always positive, so is volume and our attitudes towards finding it.

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Additional Divide and Conquer Algorithms. Skipping from chapter 4: Quicksort Binary Search Binary Tree Traversal Matrix Multiplication

Right Angled Trigonometry. Objective: To know and be able to use trigonometric ratios in rightangled

ZZ - Advanced Math Review 2017

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers

Grade 7/8 Math Circles Geometric Arithmetic October 31, 2012

Fig.25: the Role of LEX

Graphing Conic Sections

Introducing fractions

Introduction to Algebra

Proportional Contact Representations of 4-Connected Planar Graphs

1.5 Extrema and the Mean Value Theorem

Raster Graphics Algorithms

Math 227 Problem Set V Solutions. f ds =

Fall 2018 Midterm 1 October 11, ˆ You may not ask questions about the exam except for language clarifications.

Chapter 16. Shortest Paths Shortest Weighted Paths

! Data mining. ! VLSI design. ! Computer vision. ! Mathematical models. ! Astronomical simulation. ! Geographic information systems.

A23 ECR SEP2017 WW RR A24 ECR MAY2018 KD FL N#0.30

Can Pythagoras Swim?

Lily Yen and Mogens Hansen

Computing the Convex Hull of. W. Hochstattler, S. Kromberg, C. Moll

B. Definition: The volume of a solid of known integrable cross-section area A(x) from x = a

Angle Properties in Polygons. Part 1 Interior Angles

Kulleġġ San Ġorġ Preca Il-Liċeo tas-subien Ħamrun. Name & Surname: A) Mark the correct answer by inserting an X in the correct box. a b c d.

UTMC APPLICATION NOTE UT1553B BCRT TO INTERFACE PSEUDO-DUAL-PORT RAM ARCHITECTURE INTRODUCTION ARBITRATION DETAILS DESIGN SELECTIONS

Points that live on the same line are. Lines that live on the same plane are. Two lines intersect at a.

Transactions of the VŠB Technical University of Ostrava, Mechanical Series. article No Miroslav VÁVRA *, Jiří HAVLÍK **

Triangle LMN and triangle OPN are similar triangles. Find the angle measurements for x, y, and z.

MTH 146 Conics Supplement

Minimal Memory Abstractions

Transcription:

Convex Hull in The rolem: Given set P of oints in, omute their onvex hull onvex hulls Comuttionl Geometry [si 3250] Lur Tom Bowoin College onvex olyheron 1 2 3 olygon olyheron onvex olyheron 4 5 6

Polyheron region of se whose ounry onsists of verties, eges n fes fes interset roerly neighorhoo of ny oint on P is homeomorhi to isk surfe of P is onnete Convexity P is onvex if for ny, q in P, the segment q lies entirely in P. onvex olyheron : olyto onvex non-onvex 7 8 9 Pltoni solis Euler s formul Euler s formul Regulr olygon equl sies n ngles Regulr olyto fes re ongruent regulr olygons n the numer of fes inient to eh vertex is the sme (n equl ngles) Surrisingly, there exist only 5 regulr olytos Euler notie remrkle regulrity in the numer of verties, eges n fes of olyheron (w/o holes). Euler s formul: V - E + F = 2 One roof ie: fltten the olygon to lne rove the formul for tree rove for ny lnr grh y inution on E Consier olyheron P with V=n verties Tringulte its fes. This mximizes E n F. V-E+F=2 3F=2E.... E = 3V - 6 = O(n) F = 2V - 4 = O(n) The numer of verties, eges n fes in olyheron re linerly relte. 10 11 12

Some roerties From to Nive lgorithm in All fes of CH re extreme (n ll extreme eges of P re on the CH) Algorithm All internl ngles etween fes re < 180 For every trilet of oints (i,j,k):.. hek if lne efine y it is extreme Nive O(n 3 ) if it is, it to the list of CH fes Gift wring O(nh) Anlysis: O(n 4 ) Grhm sn O(n lg n) Quikhull O(n lg n), O(n 2 )? Inrementl O(n lg n) Divie-nonquer O(n lg n) 13 14 15 Gift wring in Gift wring in Gift wring in Algorithm fin fe gurntee to e on the CH REPEAT fin n ege e of fe f tht s on the CH, n suh tht the fe on the other sie of e hs not een foun. for ll remining oints i, fin the ngle of (e,i) with f fin oint i with the miniml ngle; fe (e,i) to CH Algorithm fin fe gurntee to e on the CH REPEAT fin n ege e of fe f tht s on the CH, n suh tht the fe on the other sie of e hs not een foun. for ll remining oints i, fin the ngle of (e,i) with f fin oint i with the miniml ngle; fe (e,i) to CH YouTue Vieo of CH in (y Lus Benevies) Fst onvex hull lgorithms with CGAL Anlysis: O(n x F), where F is the numer of fes on CH Imlementtion etils sketh more etile seuooe fining first fe? wht t strutures o you nee? how to kee trk of verties, eges, fes? how to store the onnetivity of fes? 16 17 18

From to From to 3 hull: ivie & onquer The sme ie s lgorithm ivie oints in two hlves P1 n P2 reursively fin CH(P1) n CH(P2) Nive O(n 3 ) O(n 4 ) Nive O(n 3 ) O(n 4 ) merge Gift wring O(nh) O(n x F) Gift wring O(nh) O(n x F) If merge in O(n) time ==> O( n lg n) lgorithm Grhm sn O(n lg n) no!! Grhm sn O(n lg n) no!! Quikhull O(n lg n), O(n 2 ) Inrementl O(n lg n) O(n lg n)? Quikhull O(n lg n), O(n 2 ) yes Inrementl O(n lg n) O(n 2 ) Divie-nonquer Divie-nonquer O(n lg n) O(n lg n) 19 20 21 How oes the merge hull look like? Ie: Strt with the lower tngent, wr roun, fin one fe t time. Let PI e lne tht suorts the hull from elow yliner without en s Clim: When we rotte PI roun, the first vertex hit must e vertex jent to or hs the smllest ngle mong ll neighors of, 22 23 24

1. Fin ommon tngent 1. Fin ommon tngent Now we nee to fin tringle. Thus is n ege either on the left hull 1. Fin ommon tngent Now we nee to fin tringle. Thus is n ege either on the left hull Now we hve new ege tht s tngent. Reet. 25 26 27 1. Fin ommon tngent Now we nee to fin tringle. Thus is n ege either on the left hull Now we hve new ege tht s tngent. Reet. 1. Fin ommon tngent Now we nee to fin tringle. Thus is n ege either on the left hull Now we hve new ege tht s tngent. Reet. 1. Fin ommon tngent Now we nee to fin tringle. Thus is n ege either on the left hull Now we hve new ege tht s tngent. Reet. e e 28 29 30

The hien fes 3 hull: ivie & onquer 1. Fin ommon tngent 2. Strt from n wr roun, to rete the yliner of tringles tht onnets the two hulls A n B 3. Fin n elete the hien fes tht re insie the yliner Theoretilly imortnt n elegnt Of ll lgorithms tht exten to, DC& is the only one tht hieves otiml ( n lg n) Diffiult to imlement The slower lgorithms (quikhull, inrementl) referre in rtie strt from the eges on the ounry of the yliner BFS or DFS fes towrs the yliner ll fes rehe re insie 31 32 33 Inrementl Point in front/ehin fe CH = {1,2,3} for i= 4 to n Inrementl hull //CH reresents the CH of 1..i-1 i to CH n ute CH to reresent the CH of 1..i s is left of (ehin) is right of (in front) not visile from visile from 34 35 36

.x.y 1 6 signeare(,,) = et.x.y 1.x.y 1 6 signevolume(,,,) = et.x.y.z 1.x.y.z 1.x.y.z 1.x.y.z 1 Assume ll fes oriente ounterlokwise (their normls etermine y the right-hn rule oint towrs the outsie of P) ositive re ( left/ehin ) ositive volume ( ehin fe) negtive volume ( in front of fe) negtive re ( right/in front of ) ositive volume ( ehin fe) negtive volume ( in front of fe) is_visile(,,,): return signevolume(,,,) < 0 37 38 39 Inrementl Inrementl The visile fes re reisely those tht nee to e isre The eges on the ounry of the visile region re the sis of the one Algorithm: inrementl hull 3 initilize H = 1, 2, 3, 4 for i = 5 to n o: for eh fe f of H o: omute volume of tetrheron forme y (f,i) if volume < 0: f is visile if no fes re visile isr i (i must e insie H) else fin orer ege of ll visile fes for eh orer ege e onstrut fe (e,i) n to H for eh visile fe f: elete f from H 40 41