z-logo
Premium
Simple and parallel proximity algorithms for general polygonal models
Author(s) -
Lee Youngeun,
Kim Young J.
Publication year - 2010
Publication title -
computer animation and virtual worlds
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.225
H-Index - 49
eISSN - 1546-427X
pISSN - 1546-4261
DOI - 10.1002/cav.359
Subject(s) - computer science , bounding overwatch , computation , algorithm , scalability , collision detection , simple (philosophy) , euclidean distance , simple polygon , euclidean geometry , polygon (computer graphics) , collision , monotone polygon , mathematics , artificial intelligence , geometry , telecommunications , philosophy , computer security , epistemology , frame (networking) , database
We present simple and fast parallel proximity algorithms for rigid polygonal models. Given two polygon‐soup models in space, if they overlap, our algorithm can find all the intersected primitives between them; otherwise, it reports their Euclidean minimum distance. Our algorithm is performed in a parallel fashion and shows scalable performance in terms of the number of available computing cores. The key ingredient of our algorithm is a simple load‐balancing metric based on the penetration depth (PD) (for collision detection) and approximate Euclidean distance (for Euclidean distance computation) between bounding volumes. To compute the PD between oriented bounding boxes (OBBs), we present a novel algorithm based on the well‐known separating axis theorem (SAT) and also shows that the PD can be trivially obtained as a byproduct of SAT. We have implemented these algorithms on a commodity PC with eight cores and benchmarked their performance on complicated geometric models. In practice, the performance of our algorithm shows up to 5 and 9.7 times improvement for collision and distance queries, respectively, compared to single core computation. Copyright © 2010 John Wiley & Sons, Ltd.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here