3d convex hulls
play

3D Convex Hulls Carola Wenk (based on BCKO) 1/28/16 CMPS - PowerPoint PPT Presentation

CMPS 6640/4040 Computational Geometry Spring 2016 3D Convex Hulls Carola Wenk (based on BCKO) 1/28/16 CMPS 6640/4040 Computational Geometry 1 3D CH: Problem Statement Images from http://xlr8r.info/ compute


  1. CMPS 6640/4040 Computational Geometry Spring 2016 ���� � ��� 3D Convex Hulls Carola Wenk (based on BCKO) 1/28/16 CMPS 6640/4040 Computational Geometry 1

  2. 3D CH: Problem Statement Images from http://xlr8r.info/ � compute • Given a set � � • Use a DCEL to represent the boundary

  3. Clarkson & Shor’s Randomized Incremental Construction (RIC) 1. Choose 4 points in that do not lie in a common plane. (Otherwise apply planar CH algorithm.) Wlog, let these points be � � � � 2. Let � � be a random permutation of the remaining points in . 3. Define � � for � for r ; ; ++ Compute � by inserting � into ���

  4. Visible and Invisible Regions • If � ��� , then � ��� • Now, consider the other case � ��� Look at ��� from �  visible region and invisible region ���� � ��� The visible region and invisible region are connected regions on ��� , separated by the horizon . The horizon is a closed curve consisting of edges on ���

  5. Horizon ���� � ��� Project ��� onto a plane with � as the center of projection.  Convex polygon that “equals” the horizon.

  6. Visibility ���� � ��� A facet on ��� is visible from � � , where � is the plane containing , :  � lies in � � is the open halfspace that does not contain and � ���

  7. Storage Data Structure Store the boundary of , and of all intermediate � , as a DCEL. The vertices are 3D points. Wlog, half-edges bounding a face that is seen from the outside of the polytope form a counter-clockwise cycle.

  8. Compute from ���� � ��� ���� � � • Keep invisible facets • Replace visible facets  How to find all visible facets in time linear to their number? � ( time is trivial but leads to an algorithm.)

  9. Conflict/Visibility Lists Maintain conflict lists for each on ��� and � for : � consists of all points that �������� � can see � consists of all facets of �������� ��� visible from � is in conflict with because and �������� cannot be part of the same convex hull ���� � ���

  10. Conflict Graph Store all conflict lists in the conflict graph: • Bipartite graph conflicts • Node for every point in that is not inserted yet • Node for every facet of ��� • Arc between and p if is in conflict with (i.e., visible from)

  11. Maintaining the Conflict Graph • Initialize conflict graph for � in linear time • Update after adding � : – Discard from � : • All neighbors of � � in � . These are the facets visible from � � . • � � – Insert nodes in � for newly created facets (those facets which connect � � to the horizon) – Find conflict lists for each newly created facet � : • A point � � that sees � must also see � • But then � � must have seen one of the faces � � or � � incident to � in conv�P ��� �  Test all points in the conflict lists of � � and � �

  12. Algorithm (part 1) ���� � ��� ���� � �

  13. Algorithm (part 2) ���� � ��� ���� � �

  14. Algorithm (part 1) ���� � ��� ���� � � ��� ) ��|� �������� �� � �|� Face can only be deleted if it has been created.  Delete at most once

  15. Algorithm (part 2) ���� � ��� ���� � � ��� |� � | � �∈� Charge to node and arc creation Need to bound: � ���� |� �������� �� � �| • ��� |����| ��� log �� where the summation is over all horizon edges � • proof in book that ever appear during the algorithm

  16. Backwards Analysis Lemma: The expected number of facets created by the algorithm, � ��∑ |� �������� �� � �| � , is at most 6� � 20 . ��� Proof: �������� � = # facets connecting � � to its horizon on ���� � ��� (these are the newly created facets) = # facets that disappear when removing � � from ���� � � =: deg �� � , ���� � � � degree of � � in ���� � � � �  ��deg � � , ���� � ��� ∑ � deg � � , ���� � � � ��� � Total degree of � � , … , � � is � ��� [( ∑ � deg�� � , ���� � � � ) -12] ��� at least 12 � �������� � ��� [ 2 3� � 6 � 12� � = 6 ��� � Thus 4 � � ∑ |� �������� �� � �| � 4 � 6 � � 4 � 6� � 20 ���

  17. Convex Hull Runtime � • Theorem: The convex hull of a set of points in can be computed in randomized expected time. • Theorem (higher dimensions): The complexity of the ��/�� . � is convex hull of points in It can be computed in randomized expected ��/�� time.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend