A simple primal algorithm for intersecting 3-polyhedra in linear time

This thesis presents, in full, a simple linear time algorithm for intersecting two convex 3-polyhedra P and Q. This differs from the first such algorithm — due to Chazelle — in that it operates entirely in primal space, whereas Chazelle's algorithm relies heavily on duality transforms. We use t...

Full description

Bibliographic Details
Main Author: Martin, Andrew K.
Language:English
Published: University of British Columbia 2010
Online Access:http://hdl.handle.net/2429/30114
id ndltd-UBC-oai-circle.library.ubc.ca-2429-30114
record_format oai_dc
spelling ndltd-UBC-oai-circle.library.ubc.ca-2429-301142018-01-05T17:45:27Z A simple primal algorithm for intersecting 3-polyhedra in linear time Martin, Andrew K. This thesis presents, in full, a simple linear time algorithm for intersecting two convex 3-polyhedra P and Q. This differs from the first such algorithm — due to Chazelle — in that it operates entirely in primal space, whereas Chazelle's algorithm relies heavily on duality transforms. We use the hierarchical representations of polyhedra due to Dobkin and Kirkpatrick to induce a cell complexes between coarse approximations, Pk and Pk of P satisfying Pk ⊆ P ⊆ Pk, and similar approximations Qk and Qk of Q satisfying Qk ⊆ Q ⊆ Qk . We show that the structure of such complexes allows intersection queries to be answered efficiently. In particular, the sequence of cells intersected by a ray can be identified in time proportional to the length of the sequence. The algorithm operates by recursively computing the intersections: Pk ∩ Qk and Pk ∩Qk. Then edges of the union of approximations P ∩ Qk and Q ∩ Pk are traversed by tracing their intersection with the two cell complexes. We show that each such edge can be traversed in constant time. In the process, most of the edges of P ∩ Q which lie simultaneously on the boundary of P and Q will be traced. We show that the total time needed to construct those which remain is linear in the size of P and Q. Though based on the same general principles, the algorithm presented here is somewhat simpler than that described by Chazelle, which uses only the cell complexes induced by the inner hierarchical representations of P and Q. By extending Chazelle's search structure to the space exterior to the given polyhedra, we avoid having to operate simultaneously in primal and dual spaces. This permits us to conceptualise the algorithm as traversing the edges of the boundary of (P∩Qk)⋃(Q∩Pk). As a side effect, we avoid one half of Chazelle's recursive calls, which leads to a modest improvement in the asymptotic constants. Science, Faculty of Computer Science, Department of Graduate 2010-11-23T21:43:15Z 2010-11-23T21:43:15Z 1991 Text Thesis/Dissertation http://hdl.handle.net/2429/30114 eng For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use. University of British Columbia
collection NDLTD
language English
sources NDLTD
description This thesis presents, in full, a simple linear time algorithm for intersecting two convex 3-polyhedra P and Q. This differs from the first such algorithm — due to Chazelle — in that it operates entirely in primal space, whereas Chazelle's algorithm relies heavily on duality transforms. We use the hierarchical representations of polyhedra due to Dobkin and Kirkpatrick to induce a cell complexes between coarse approximations, Pk and Pk of P satisfying Pk ⊆ P ⊆ Pk, and similar approximations Qk and Qk of Q satisfying Qk ⊆ Q ⊆ Qk . We show that the structure of such complexes allows intersection queries to be answered efficiently. In particular, the sequence of cells intersected by a ray can be identified in time proportional to the length of the sequence. The algorithm operates by recursively computing the intersections: Pk ∩ Qk and Pk ∩Qk. Then edges of the union of approximations P ∩ Qk and Q ∩ Pk are traversed by tracing their intersection with the two cell complexes. We show that each such edge can be traversed in constant time. In the process, most of the edges of P ∩ Q which lie simultaneously on the boundary of P and Q will be traced. We show that the total time needed to construct those which remain is linear in the size of P and Q. Though based on the same general principles, the algorithm presented here is somewhat simpler than that described by Chazelle, which uses only the cell complexes induced by the inner hierarchical representations of P and Q. By extending Chazelle's search structure to the space exterior to the given polyhedra, we avoid having to operate simultaneously in primal and dual spaces. This permits us to conceptualise the algorithm as traversing the edges of the boundary of (P∩Qk)⋃(Q∩Pk). As a side effect, we avoid one half of Chazelle's recursive calls, which leads to a modest improvement in the asymptotic constants. === Science, Faculty of === Computer Science, Department of === Graduate
author Martin, Andrew K.
spellingShingle Martin, Andrew K.
A simple primal algorithm for intersecting 3-polyhedra in linear time
author_facet Martin, Andrew K.
author_sort Martin, Andrew K.
title A simple primal algorithm for intersecting 3-polyhedra in linear time
title_short A simple primal algorithm for intersecting 3-polyhedra in linear time
title_full A simple primal algorithm for intersecting 3-polyhedra in linear time
title_fullStr A simple primal algorithm for intersecting 3-polyhedra in linear time
title_full_unstemmed A simple primal algorithm for intersecting 3-polyhedra in linear time
title_sort simple primal algorithm for intersecting 3-polyhedra in linear time
publisher University of British Columbia
publishDate 2010
url http://hdl.handle.net/2429/30114
work_keys_str_mv AT martinandrewk asimpleprimalalgorithmforintersecting3polyhedrainlineartime
AT martinandrewk simpleprimalalgorithmforintersecting3polyhedrainlineartime
_version_ 1718594061104840704