Skip to content

Commit dfba5a7

Browse files
authored
Merge pull request #88 from soesau/barycentric_convex_decomposition_news
News entries for Barycentric_coordinates_3 and approximate convex decomposition
2 parents fdb350b + 69419b4 commit dfba5a7

6 files changed

Lines changed: 345 additions & 0 deletions

_posts/2026-05-04-barycentric_3.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
layout: post
3+
title: "New in CGAL: 3D Generalized Barycentric Coordinates"
4+
description: "Fast and closed-form generalized barycentric coordinates for convex simplicial polytopes"
5+
category:
6+
tags: [""]
7+
---
8+
{% include JB/setup %}
9+
10+
<h3>
11+
<a href="https://www.linkedin.com/in/antonio-gomes-023019230/">Antonio Gomes</a>,
12+
<a href="https://www.linkedin.com/in/dmitry-anisimov/">Dmitry Anisimov</a></h3>
13+
14+
<br>
15+
<p>The upcoming CGAL release 6.2, will introduce the package <a href="https://cgal.geometryfactory.com/CGAL/doc/main/Barycentric_coordinates_3/index.html">3D Generalized Barycentric Coordinates</a>. A first version was implemented during <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a>. The 3D package complements the existing <a href="https://doc.cgal.org/latest/Barycentric_coordinates_2/index.html">2D package</a>. Barycentric coordinates are a fundamental tool in geometry processing, interpolation, and deformation. While classical barycentric coordinates are defined with respect to simplices, many modern applications require coordinates over more general polyhedral shapes. This package implements several widely used closed-form formulations, including Wachspress, discrete harmonic, and mean value coordinates, all adapted to convex 3D polyhedra with triangular faces.</p>
16+
17+
<br>
18+
<div style="text-align:center;">
19+
<a href="../../../../images/barycentric_overview.svg"><img src="../../../../images/barycentric_overview.svg" style="max-width:95%"/></a><br>
20+
<br><small>Wachspress, discrete harmonic, mean value, and harmonic coordinate functions for a convex polygon plotted with respect to the marked vertex.</small>
21+
</div>
22+
<br>
23+
24+
<p>One application of barycentric coordinates is shape deformation. The barycentric coordinates of vertex positions of an input object are calculated with respect to an enclosing convex polyhedron, e.g., a bounding box. The deformed object can then be obtained by retrieving the vertex positions deforming the enclosing polyhedron.</p>
25+
26+
<br>
27+
<div style="text-align:center;">
28+
<a href="../../../../images/barycentric_shape_deform.png"><img src="../../../../images/barycentric_shape_deform.png" style="max-width:95%"/></a><br>
29+
<br><small>A sphere deformed by using a deformed bounding box as reference.</small>
30+
</div>
31+
32+
<br>
33+
<h3>Status</h3>
34+
35+
<p>The package <a href="https://cgal.geometryfactory.com/CGAL/doc/main/Barycentric_coordinates_3/index.html">3D Generalized Barycentric Coordinates</a> is already integrated in CGAL's "main" branch
36+
on the <a href="https://github.com/CGAL/cgal/">CGAL GitHub repository</a>, and will be
37+
officially released in the upcoming version of CGAL, CGAL 6.2, scheduled for June 2026.</p>
38+
39+
<i class="bi bi-book"></i>
40+
<a href="https://doc.cgal.org/6.2/Barycentric_coordinates_3/index.html">Documentation of the package Barycentric_coordinates_3</a>
41+
<br>
42+
<i class="bi bi-arrow-down-circle"></i>
43+
<a href="https://github.com/CGAL/cgal/tree/main">CGAL "main" branch on GitHub</a>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
layout: post
3+
title: "New in CGAL: Approximate Convex Decomposition"
4+
description: "Covering a mesh by tight convex volumes"
5+
category:
6+
tags: [""]
7+
---
8+
{% include JB/setup %}
9+
10+
<h3><a href="https://geometryfactory.com/who-we-are/">Sven Oesau</a></h3>
11+
<h4><a href="https://geometryfactory.com/">GeometryFactory</a></h4>
12+
<br>
13+
14+
<div style="text-align:center;">
15+
<a href="../../../../images/acd_results.jpg"><img src="../../../../images/acd_results.jpg" style="max-width:95%"/></a><br>
16+
<br><small>A camel mesh decomposed into 4, 8 and 12 convex volumes.</small>
17+
</div>
18+
<br>
19+
<p>The upcoming CGAL release 6.2, will introduce the method <a href="https://cgal.geometryfactory.com/CGAL/doc/main/Convex_decomposition_3/index.html#title4">Approximate Convex Decomposition</a>. Convex decomposition of 3D objects have applications ranging from collision detection and rigid body simulation to motion planning and geometric approximation. While exact convex decomposition algorithms provide strong guarantees, they can produce a large number of components and can be NP-hard if the minimal number of components is required.</p>
20+
21+
<p>The approximate convex decomposition addresses these limitations by partitioning closed triangle meshes into a set of convex components while providing direct control over the approximation quality and the number of components. Instead of enforcing exact convexity, the algorithm iteratively detects highly concave regions and introduces cuts that reduce the overall concavity of the shape. The decomposition output is represented as a collection of submeshes that can easily be reused in applications relying on Surface_mesh or Polygon Mesh Processing.</p>
22+
23+
<p>The method employs a voxel grid to detect concave parts of the objects and follows a hierarchical splitting strategy to decompose the object into a larger number of convex volumes. The final desired number of convex volumes is obtained via an error-driven merging phase that recombines the smaller convex volumes while keeping the volumetric overhead as small as possible.</p>
24+
25+
<br>
26+
<div style="text-align:center;">
27+
<a href="../../../../images/acd_pipeline.jpg"><img src="../../../../images/acd_pipeline.jpg" style="max-width:95%"/></a><br>
28+
<br><small>From left to right: 1) Input mesh, 2) Voxelization, 3) Convex volumes after splitting phase, 4) Final 10 convex volumes.</small>
29+
</div>
30+
31+
<br>
32+
<h3>Status</h3>
33+
34+
<p>The method "Approximate Convex Decomposition" is already integrated in CGAL's "main" branch
35+
on the <a href="https://github.com/CGAL/cgal/">CGAL GitHub repository</a>, and will be
36+
officially released in the upcoming version of CGAL, CGAL 6.2, scheduled for June 2026.</p>
37+
38+
<i class="bi bi-book"></i>
39+
<a href="https://cgal.geometryfactory.com/CGAL/doc/main/Convex_decomposition_3/index.html#title4">Documentation of the Approximate Convex Decomposition</a>
40+
<br>
41+
<i class="bi bi-arrow-down-circle"></i>
42+
<a href="https://github.com/CGAL/cgal/tree/main">CGAL "main" branch on GitHub</a>

images/acd_pipeline.jpg

110 KB
Loading

images/acd_results.jpg

90.5 KB
Loading

0 commit comments

Comments
 (0)