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...
Main Author: | |
---|---|
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 |