|
| 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> |
0 commit comments