Approximate Convex Decomposition (ACD)
Related Projects:  Computational Geometry    Robot Task and Motion Planning    Hierarchical Aggregation    Skeleton Extraction  

One common strategy for dealing with large, complex models is to partition them into pieces that are easier to handle. Many problems can be solved more efficiently when the input is convex. While decomposition into convex components results in pieces that are easy to process, such decompositions can be costly to construct and often result in representations with an unmanageable number of components. We propose an alternative partitioning strategy that decomposes a given model (in 2D or 3D) into "approximately convex" pieces.


Benefits of ACD:

  • For many applications, the approximately convex components of this decomposition provide similar benefits as convex components.
  • The resulting decomposition is both significantly smaller and can be computed more efficiently.
  • An approximate convex decomposition can more accurately represent the important structural features of the model by providing a mechanism for ignoring insignificant features, such as wrinkles and other surface texture.
  • It produces an elegant hierarchical representation

some text


Approximate Convex Decomposition of Polygons

We propose a simple algorithm that computes an ACD of a polygon by iteratively removing (re-solving) the most significant non-convex feature (notch). Our algorithm computes an ACD of a simple polygon with n vertices and r notches in O(nr) time. In contrast, exact convex decomposition is NP-hard or, if the polygon has no holes, takes O(nr2) time. More results of 2D ACD can be found below.

Approximate Convex Decomposition of Polyhedra

There are several challenges faced when extending ACD to polyhedra. One operation that we use to address some of these issues is to group certain types of adjacent features and to process them as a unit. As we have shown, this can help us to both reduce computational costs and to improve the quality of the resulting decomposition. More results of 3D ACD can be found below.

FACD: Fast Approximate Convex Decomposition

ACD uses a greedy recursive approach to decompose an input model into approximately convex pieces. In Fast Approximate Convex Decomposition (FACD), the decomposition is improved by selection of multiple segmentation boundaries for decomposition from a set of possible segmentation boundaries. Also instead of using the user-defined threshold over an absolute measure of concavity, it is used as a tolerance over a relative concavity measure to result in more natural looking decomposition.

ACD
FACD at two levels

FACD is an extension of the original Approximate Convex Decomposition algorithm of Amato and Lien. It partitions a given input model into "approximately convex" pieces while emphasizing structurally important parts of the model in decomposition. Although optimal solution for decomposition is difficult to obtain, we propose an algorithm which predicts a set of decomposition boundaries and finds a good solution from this set. Unlike constructing a single cut at each step in the recursion, multiple non-crossing cuts are constructed and a subset of these cuts is selected using dynamic programming approach to decompose the model. We also introduced a new measure associated with each cut which quantifies the impact of the cut on the concavity of the model. This measure is known as relative concavity of a cut which priortizes structural concavities over surface noise or texture.

Improvements of FACD over ACD:

  • Absolute concavity measure is replaced by relative concavity to decompose the input model along "important" structural concavities.
  • No greedy approach is used to resolve concavity. Instead of selecting a single cut at each recursive step, multiple cuts are selected from a set of possible independent cuts.

Relative vs. Absolute Concavity

Certain concavities of model might have low absolute concavity value. Using the user-defined tolerance over this absolute measure might overlook such concavities during decomposition. Whereas lowering the tolerance might cause decomposition along unnecessary regions. Hence in this work, we use the user-defined tolerance over relative concavity. It is the ratio of concavity of the model before and after application of a cut. A cut is known as important if it's relative concavity is above the user-defined tolerance. As shown in the figure below, the small structural concavities like hoofs and ears of the horse model is emphasized without causing oversegmentation in the torso and legs.

Salient features of relative concavity:

  • Emphasizes sudden change in concavity over gradual increase or decrease in concavity of the model.
  • A relative and localized measure associated with segmentation boundary or cut.
  • Distinguishes surface undulation, texture or noise from structural concavity.

Comparison of ACD with FACD (from left to right): (a) ACD high tolerance (b) ACD low tolerance (c) FACD high tolerance (d) FACD low tolerance

Multiple cuts selection

In original ACD, a single cut that contains the vertex of maximum concavity is used to decompose the input model into two components, both of which are processed recursively. To avoid recursive application, multiple non-crossing cuts are applied to decompose the model in a single iteration. In particular, a set of non-crossing cuts are selected that will decompose the model into set of components each of which meets the required threshold.

This is done by identifying a set of non-crossing (independent) cuts, known as potential cuts, in the model. If all the potential cuts are applied on the model, they will divide the model into set of primary components. The primary components and the potential cuts are placed in a cut-graph where the edges represent the potential cuts and the vertices indicate these primary component. The final set of cuts used to decompose the model is then selected using a dynamic programming approach. The cut-graph is used to define a linear ordering of the primary components which are the initial sub-problems in the dynamic programming. The objective function maximizes the relative concavity of important splitting cuts in the sub-problem. This reduces the depth of recursion and along with certain optimization techniques (as described below) improves the efficiency of the decomposition algorithm.

Comparison of time taken (in s) with the number of components in ACD and FACD of the above horse model.

Merging of Convex Hulls

This is a sub-problem addressed to improve the complexity using re-usability. Measuring concavity of a model involves building its convex hull. We propose a novel method to build the convex hull of two intersecting models from their existing convex hulls.


It is an incremental algorithm which finds the intersection in the existing convex hulls and merges them along the traced intersection. The hull of the merged structure is then constructed by iteratively merging pair of facets (in 3D) or edges (in 2D) starting from those along the intersection till the resulting structure is convex.

2D Results

3D Results

Applications

Skeleton Extraction

A skeleton of the model is extracted from the convex hulls of these nearly convex components. The process of shape decomposition and skeletonization iterates until the quality of the skeleton becomes satisfactory. An example of the extracted skeleton and the deformed models using the extracted skeleton is shown below. More information can be found here: Skeleton Extraction



Animation using the extracted skeleton and motion capture data:

  • boxing (avi [divx] 6.2 MB, mov [quicktime] 19 MB)
  • sexy walk (avi [divx] 4.2 MB, mov [quicktime] 6.8 MB)
  • push a box (avi [divx] 2.0 MB, mov [quicktime] 3.1 MB)

Motion Planning of Deformable Objects

Tetrahedral meshes can be easily generated from the convex hulls of the ACD components. These meshes, which tightly enclose and approximate the shape of the input model, can be used to provide visually realistic deformations. We have applied this strategy for efficiently planning motion of deformable objects.

  • Videos: (avi [dvix], 2Mb) (mov [quicktime], 13Mb)
  • More videos and images can be found here

More Results

More details and ACD examples can be found here.

2D Results: Approximate Convex Decomposition of Polygons

Results for Simple Polygons without Holes



Nazca Monkey
The Nazca monkey has 1,204 vertices and 584 notches. Approximate Convex Decomposition.128 components-each component is 0.5-approximate convex Minimum Convex Decomposition.340 components


Nazca Heron
The initial Nazca Heron model has 1037 vertices and 484 notches.
The radius of the bounding circle is 137.1
Decomposition using approximate convex decomposition.
49 components with concavity less than 0.5 are generated.
Decomposition using optimal convex decomposition.
263 components are generated.
Texas
Approximate Convex Decomposition. 7 components. Minimum Convex Decomposition. 38 components.


No Name
Approximate Convex Decomposition. 49 components. Minimum Convex Decomposition. 126 components.


Bird
Approximate Convex Decomposition. 49 components. Minimum Convex Decomposition. 126 components.


Mammoth
Approximate Convex Decomposition. 49 components. Minimum Convex Decomposition. 126 components.


Results for Simple Polygons with Holes



Neurons
The initial model of neurons has 1,815 vertices and 991 notches and 18 holes.
The radius of the enclosing circle is 19.6.
Decomposition using approximate convex decomposition.
Final decomposition has 236 components with concavity less than 0.1.

simple polygon : 452 vertices and 211 notches.

(original) (t=2) 18 components (t=1) 26 components (t=0.5) 36 components (t=0.1) 80 components
in tif format in tif format in tif format in tif format in tif format

polygon with one hole : 487 vertices and 269 notches.

(original) (t=2) 7 components (t=1) 11 components (t=0.5) 16 components (t=0.1) 32 components
in tif format in tif format in tif format in tif format in tif format

3D Results: Approximate Convex Decomposition of Polyhedra

Stanford Bunny

Stanford Bunny has 35,947 vertices and 69,451 triangles. There are 40.6% of the 104,288 edges are notches.

Video: mpeg format

images:
(t=50) 3 components (t=20) 5 components (t=10) 17 components
in tif format in tif format in tif format

Twisted Donut


Twisted donut has 2400 edges and 555 notches.

Video: mpeg format

images:
(original) (t=4) 4 components (t=1) 12 components (t=0.5) 19 components
in tif format in tif format in tif format in tif format

Buffalo


Buffalo has 3157 edges and 1077 notches.

Video: mpeg format

images :
(original) (t=4) 2 components (t=1) 11 components (t=0.5) 18 components
in tif format in tif format in tif format in tif format

Twisted X


Twisted X has 3360 edges and 1055 notches.

Video: mpeg format

images:
(original) (t=6) 8 components (t=2) 22 components (t=0.5) 55 components
in tif format in tif format in tif format in tif format

Decomposition results

Convex solid decomposition
(Full size image)
The leftmost image shows an Exact Convex Decomposition. The size and time of ACD without (top images) and with (bottom images) feature grouping are shown for a range approximation values tau.
Convex surface decomposition
(Full size image)
The leftmost figure shows a result of the exact decomposition. The others are results of the approximate decomposition.

Genus reduction

Genus reduction is a process of finding sets of edges (called handle cuts) whose removal will reduce the number of homological loops on the surface of a polyhedron.

Our approach is based on the intuition that the bridges that share the same pocket tell us approximate locations of the handles, i.e., these bridges can serve as entrances to and exits from the enclosed handles.

The figure on the left shows the handle cuts (in red curves) of the David model.

Shape decomposition

The components of an ACD can also be used for shape representation. We argue that in many cases the significance of a feature depends on its volumetric proportion to its base. For example, a 5 cm stick on a ball with 5 cm radius is a more significant feature than a 5 cm stick on a ball with 5 km radius. This intuition can be captured by the concept of convexity. Unlike concavity, convexity is independent of the size of a model and always has a value between 0 and 1.

Bear
top: ACD components
bottom: the convex hulls of the ACD components

71,372 triangles
take 6.9 sec to decompose
result in 6 components

Dragon
top: ACD components
bottom: the convex hulls of the ACD components

871,414 triangles
take 386.2 sec to decompose
result in 43 components

Horse
top: ACD components
bottom: the convex hulls of the ACD components

39,694 triangles
take 15.4 sec to decompose
result in 17 components

Deformed Horse
(a skeletal deformation of the Horse model)

top: ACD components
bottom: the convex hulls of the ACD components

39,694 triangles
take 16.1 sec to decompose
result in 22 components


Related Publications

Fast Collision Detection for Motion Planning Using Shape Primitive Skeletons, Mukulika Ghosh and Shawna Thomas and Nancy M. Amato, Algorithmic Foundations of Robotics XIII. Springer Proceedings in Advanced Robotics (SPAR). The 2018 Workshop on the Algorithmic Foundations of Robotics (WAFR), Vol: 14, pp. 36-51, Springer, Cham, May 2020. DOI: 10.1007/978-3-030-44051-0_3
Keywords: Collision Detection, Computational Geometry, Motion Planning
Links : [Published]

BibTex

@article{ghosh-wafr-2018
, author = "Mukulika Ghosh and Shawna Thomas and Nancy M. Amato"
, title = "Fast Collision Detection for Motion Planning Using Shape Primitive Skeletons"
, journal = "Algorithmic Foundations of Robotics XIII. Springer Proceedings in Advanced Robotics (SPAR)"
, publisher = "Springer, Cham."
, volume = "14"
, pages = "36-51"
, year = "2020"
, doi = "10.1007/978-3-030-44051-0_3"
}


Abstract

In many robotics applications, the environment (robots and obstacles) often have very complex geometries. These result in expensive primitive computations such as collision detection which in turn, affect the overall performance of these applications. Approximating the geometry is a common approach to optimize computation. Unlike other applications of geometric approximation where it is applied to one space (usually obstacle space), we approximate both obstacle and free workspace with a set of geometric shape primitives that are completely contained within the space and represent its topology (skeleton). We use these “shape primitive skeletons” to improve collision detection performance in motion planning algorithms. Our results show that the use of shape primitive skeletons improves the performance of standard collision detection methods in motion planning problems by 20–70% in our 2D and 3D test environments regardless of motion planning strategy. We also show how the same shape primitive skeletons can be used with robots of different sizes to improve the performance of collision detection operation.


Geometric Approximations and Their Application to Motion Planning, Mukulika Ghosh, Doctoral Dissertation, Texas A&M University, College Station, TX, Aug 2019.
Keywords: Computational Geometry, Convex Decomposition, Sampling-Based Motion Planning
Links : [Published]

BibTex

@phdthesis{ghosh-phd-2019
, author = "Mukulika Ghosh"
, title = "Geometric Approximations and Their Application to Motion Planning"
, school = "Department of Computer Science and Engineering, Texas A\&M University"
, month = "August"
, year = "2019"
, note = "https://oaktrust.library.tamu.edu/handle/1969.1/187961"
}


Abstract

Geometric approximation methods are a preferred solution to handle complexities (such as a large volume or complex features such as concavities) in geometric objects or environments containing them. Complexities often pose a computational bottleneck for applications such as motion planning. Exact resolution of these complexities might introduce other complexities such as unmanageable number of components. Hence, approximation methods provide a way to handle these complexities in a manageable state by trading off some accuracy. In this dissertation, two novel geometric approximation methods are studied: aggregation hierarchy and shape primitive skeleton. The aggregation hierarchy is a hierarchical clustering of polygonal or polyhedral objects. The shape primitive skeleton provides an approximation of bounded space as a skeleton of shape primitives. These methods are further applied to improve the performance of motion planning applications. We evaluate the methods in environments with 2D and 3D objects. The aggregation hierarchy groups nearby objects into individual objects. The hierarchy is created by varying the distance threshold that determines which objects are nearby. This creates levels of detail of the environment. The hierarchy of the obstacle space is then used to create a decom-position of the complementary space (i.e, free space) into a set of sampling regions to improve the efficiency and accuracy of the sampling operation of the sampling based motion planners. Our results show that the method can improve the efficiency (10 − 70% of planning time) of sampling based motion planning algorithms. The shape primitive skeleton inscribes a set of shape primitives (e.g., sphere, boxes) inside a bounded space such that they represent the skeleton or the connectivity of the space. We apply the shape primitive skeletons of the free space and obstacle space in motion planning problems to improve the collision detection operation. Our results also show the use of shape primitive skeleton in both spaces improves the performance of collision detectors (by 20 − 70% of collision detection time) used in motion planning algorithms. In summary, this dissertation evaluates how geometric approximation methods can be applied to improve the performance of motion planning methods, especially, sampling based motion planning methods


Motion Planning using Hierarchical Aggregation of Workspace Obstacles, Mukulika Ghosh, Shawna Thomas, Marco Morales, Sam Rodriguez, and Nancy M. Amato, In Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), pp. 5716-5721, Daejeon, Korea, Oct 2016. DOI: 10.1109/IROS.2016.7759841
Keywords: Motion Planning, Workspace Topology
Links : [Published]

BibTex

@inproceedings{ghosh2016motion,
title={Motion planning using hierarchical aggregation of workspace obstacles},
author={Ghosh, Mukulika and Thomas, Shawna and Morales, Marco and Rodriguez, Sam and Amato, Nancy M},
booktitle={2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
pages={5716--5721},
year={2016},
organization={IEEE}
}


Abstract

Sampling-based motion planning is the state-of-the-art technique for solving challenging motion planning problems in a wide variety of domains. While generally successful, their performance suffers from increasing problem complexity. In many cases, the full problem complexity is not needed for the entire solution. We present a hierarchical aggregation framework that groups and models sets of obstacles based on the currently needed level of detail. The hierarchy enables sampling to be performed using the simplest and most conservative representation of the environment possible in that region. Our results show that this scheme improves planner performance irrespective of the underlying sampling method and input problem. In many cases, improvement is significant, with running times often less than 60% of the original planning time.


Fast Approximate Convex Decomposition, Mukulika Ghosh, Texas A&M University, College Station, TX, Aug 2012.
Keywords: Computational Geometry, Convex Decomposition
Links : [Published]

BibTex

TODO: Ghosh, Mukulika (2012). Fast Approximate Convex Decomposition. Master's thesis, Texas A&M University. Available electronically from https : / /hdl .handle .net /1969 .1 /ETD -TAMU -2012 -08 -11873.


Abstract

Approximate convex decomposition (ACD) is a technique that partitions an input object into "approximately convex" components. Decomposition into approximately convex pieces is both more efficient to compute than exact convex decomposition and can also generate a more manageable number of components. It can be used as a basis of divide-and-conquer algorithms for applications such as collision detection, skeleton extraction and mesh generation. In this paper, we propose a new method called Fast Approximate Convex Decomposition (FACD) that improves the quality of the decomposition and reduces the cost of computing it for both 2D and 3D models. In particular, we propose a new strategy for evaluating potential cuts that aims to reduce the relative concavity, rather than absolute concavity. As shown in our results, this leads to more natural and smaller decompositions that include components for small but important features such as toes or fingers while not decomposing larger components, such as the torso that may have concavities due to surface texture. Second, instead of decomposing a component into two pieces at each step, as in the original ACD, we propose a new strategy that uses a dynamic programming approach to select a set of n_c non-crossing (independent) cuts that can be simultaneously applied to decompose the component into n_c + 1 components. This reduces the depth of recursion and, together with a more efficient method for computing the concavity measure, leads to significant gains in efficiency. We provide comparative results for 2D and 3D models illustrating the improvements obtained by FACD over ACD and we compare with the segmentation methods given in the Princeton Shape Benchmark.


Approximate Convex Decomposition of Polyhedra, Jyh-Ming Lien, Nancy M. Amato, Proceedings of the 2007 ACM Symposium on Solid and Physical Modeling (SPM 07), pp. 121-131, Jun 2007. DOI: https://doi.org/10.1145/1236246.1236265
Keywords: Computational Geometry, Convex Decomposition
Links : [Published]

BibTex

@inproceedings{10.1145/1236246.1236265,
author = {Lien, Jyh-Ming and Amato, Nancy M.},
title = {Approximate Convex Decomposition of Polyhedra},
year = {2007},
isbn = {9781595936660},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1236246.1236265},
doi = {10.1145/1236246.1236265},
abstract = {Decomposition is a technique commonly used to partition complex models into simpler components. While decomposition into convex components results in pieces that are easy to process, such decompositions can be costly to construct and can result in representations with an unmanageable number of components. In this paper we explore an alternative partitioning strategy that decomposes a given model into "approximately convex" pieces that may provide similar benefits as convex components, while the resulting decomposition is both significantly smaller (typically by orders of magnitude) and can be computed more efficiently. Indeed, for many applications, an approximate convex decomposition (ACD) can more accurately represent the important structural features of the model by providing a mechanism for ignoring less significant features, such as surface texture. We describe a technique for computing ACDs of three-dimensional polyhedral solids and surfaces of arbitrary genus. We provide results illustrating that our approach results in high quality decompositions with very few components and applications showing that comparable or better results can be obtained using ACD decompositions in place of exact convex decompositions (ECD) that are several orders of magnitude larger.},
booktitle = {Proceedings of the 2007 ACM Symposium on Solid and Physical Modeling},
pages = {121–131},
numpages = {11},
keywords = {concavity measurement, convex decomposition},
location = {Beijing, China},
series = {SPM '07}
}


Abstract

Decomposition is a technique commonly used to partition complex models into simpler components. While decomposition into convex components results in pieces that are easy to process, such decompositions can be costly to construct and can result in representations with an unmanageable number of components. In this paper we explore an alternative partitioning strategy that decomposes a given model into "approximately convex" pieces that may provide similar benefits as convex components, while the resulting decomposition is both significantly smaller (typically by orders of magnitude) and can be computed more efficiently. Indeed, for many applications, an approximate convex decomposition (ACD) can more accurately represent the important structural features of the model by providing a mechanism for ignoring less significant features, such as surface texture. We describe a technique for computing ACDs of three-dimensional polyhedral solids and surfaces of arbitrary genus. We provide results illustrating that our approach results in high quality decompositions with very few components and applications showing that comparable or better results can be obtained using ACD decompositions in place of exact convex decompositions (ECD) that are several orders of magnitude larger.


Approximate Convex Decomposition and its Applications, Jyh-Ming Lien, Doctoral dissertation, Texas A & M University, College Station, Texas, USA, Dec 2006. DOI: N/A
Keywords: Computational Geometry, Convex Decomposition
Links : [Published]

BibTex

@phdthesis{lien2006approximate,
title={Approximate convex decomposition and its applications},
author={Lien, Jyh-Ming},
volume={69},
number={01},
year={2006}
}


Abstract

Geometric computations are essential in many real-world problems. One important issue in geometric computations is that the geometric models in these problems can be so large that computations on them have infeasible storage or computation time requirements. Decomposition is a technique commonly used to partition complex models into simpler components. Whereas decomposition into convex components results in pieces that are easy to process, such decompositions can be costly to construct and can result in representations with an unmanageable number of components. In this work, we have developed an approximate technique, called Approximate Convex Decomposition (ACD), which decomposes a given polygon or polyhedron into "approximately convex" pieces that may provide similar benefits as convex components, while the resulting decomposition is both significantly smaller (typically by orders of magnitude) and can be computed more efficently. Indeed, for many applications, an ACD can represent the important structural features of the model more accurately by providing a mechanism for ignoring less significant features, such as wrinkles and surface texture. Our study of a wide range of applications shows that in addition to providing computational efficiency, ACD also provides natural multi-resolution or hierarchical representations. In this dissertation, we provide some examples of ACD's many potential applications, such as particle simulation, mesh generation, motion planning, and skeleton extraction.


Simultaneous Shape Decomposition and Skeletonization, Jyh-Ming Lien, John Keyser , Nancy M. Amato, In. Proc. of the 2006 ACM symposium on Solid and physical modeling, Cardiff, Wales, United Kingdom, Jun 2006. DOI: 10.1145/1128888.1128919
Keywords: Computational Geometry, Convex Decomposition
Links : [Published]

BibTex

@inproceedings{10.1145/1128888.1128919,
author = {Lien, Jyh-Ming and Keyser, John and Amato, Nancy M.},
title = {Simultaneous Shape Decomposition and Skeletonization},
year = {2006},
isbn = {1595933581},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1128888.1128919},
doi = {10.1145/1128888.1128919},
booktitle = {Proceedings of the 2006 ACM Symposium on Solid and Physical Modeling},
pages = {219–228},
numpages = {10},
keywords = {skeletonization, convex decomposition, multi-resolution skeleton},
location = {Cardiff, Wales, United Kingdom},
series = {SPM '06}
}


Abstract

Shape decomposition and skeletonization share many common properties and applications. However, they are generally treated as independent computations. In this paper, we propose an iterative approach that simultaneously generates a hierarchical shape decomposition and a corresponding set of multi-resolution skeletons. In our method, a skeleton of a model is extracted from the components of its decomposition --- that is, both processes and the qualities of their results are interdependent. In particular, if the quality of the extracted skeleton does not meet some user specified criteria, then the model is decomposed into finer components and a new skeleton is extracted from these components. The process of simultaneous shape decomposition and skeletonization iterates until the quality of the skeleton becomes satisfactory. We provide evidence that the proposed framework is efficient and robust under perturbation and. deformation. We also demonstrate that our results can readily be used in problems including skeletal deformations and virtual reality navigation.


Approximate Convex Decomposition, Jyh-Ming Lien, Nancy M. Amato, Proceedings of the Twentieth Annual Symposium on Computational Geometry (SOCG 04), pp. 457-458, Brooklyn, New York, Jun 2004. DOI: 10.1145/997817.997889
Keywords: Computational Geometry
Links : [Published]

BibTex

@inproceedings{ la-acd-04
, author = "J.-M. Lien and N. M. Amato"
, title = "Approximate Convex Decomposition"
, booktitle = "Proc.\ 20th Annual {ACM} Symp.\ Computat.\ Geom.\ (SoCG)"
, year = "2004"
, month = "June"
, note = "Video Abstract."
, pages = "457--458"
}


Abstract

Not applicable (it is a video abstract)


Approximate Decomposition of Polygons, Jyh-Ming Lien, Nancy M. Amato, Proceedings of the Twentieth Annual Symposium on Computational Geometry (SOCG 04), pp. 17-26, Brooklyn, New York, Jun 2004. DOI: 10.1145/997817.997823
Keywords: Computational Geometry, Convex Decomposition
Links : [Published]

BibTex

@inproceedings{ la-acdp-04
, author = "J.-M. Lien and N. M. Amato"
, title = "Approximate Convex Decomposition of Polygons"
, booktitle = "Proc.\ 20th Annual {ACM} Symp.\ Computat.\ Geom.\ (SoCG)"
, year = "2004"
, month="June"
, pages = "17--26"
}


Abstract

We propose a strategy to decompose a polygon, containing zero or more holes, into ``approximately convex'' pieces. For many applications, the approximately convex components of this decomposition provide similar benefits as convex components, while the resulting decomposition is significantly smaller and can be computed more efficiently. Moreover, our approximate convex decomposition (ACD) provides a mechanism to focus on key structural features and ignore less significant artifacts such as wrinkles and surface texture a user specified tolerance determines allowable concavity. We propose a simple algorithm that computes an ACD of a polygon by iteratively removing (resolving) the most significant non-convex feature (notch). As a by product, it produces an elegant hierarchical representation that provides a series of `increasingly convex' decompositions. Our algorithm computes an ACD of a simple polygon with n vertices and r notches in O(nr) time. In contrast, exact convex decomposition is NP-hard or,if the polygon has no holes, takes O(nr2) time.