The manufacturing industry faces an urgent need to transition from the linear "make-take-use-dispose" production model towards more sustainable circular models that retain resources in the production chain. Motivated by this need, we introduce the new problem of approximating 3D surfaces by reusing panels from other surfaces. We present an algorithm that takes as input one or several existing shapes and relies on partial shape registration to identify a small set of simple panels that, once cut from the existing shapes and transformed rigidly, approximate a target shape within a user-defined distance threshold. As a proof of concept, we demonstrate our algorithm in the context of rapid prototyping, where we harvest curved panels from plastic bottles and assemble them with custom connectors to fabricate medium-size freeform structures.
An initial search for matches between source and target is done using a purpose-designed shape descriptor. We center a sphere around a query point on the surface and extract the intersecting boundary, observing that these curves are invariant under rigid transformations. By growing spheres at multiple radii, we obtain a multi-resolution descriptor, which we use to estimate similarity.
Using this similarity measure, we populate a dense cost array between source and target points at various scales. We use these scores to efficiently search for viable coarse matching candidates, which we then refine in the graph cut phase.
The design of our descriptor yields patches with a defined extent and disk topology. From this property we devise a parallelizable boundary-based registration scheme for candidate patches, allowing us to obtain aligning transformations and cull false positive matches efficiently.
Using our descriptor and registration we are able to find coarse matches and aligning transformations. We perform a poisson-disk like seeding procedure in order to cover the target surface at several different scales. Coverings at large scales are more desirable (to cover large sections of the target efficiently), whereas small scales are more likely to approximate complex regions.
Together, the patches from this multi-scale covering form an initial set of candidates used for matching. However, as a match under allowed tolerance might extend past the extent of the descriptor (see left), and we have an over-complete covering of our target, we cull and refine the selection using an optimization scheme:
We formulate the selection process as a graph-cut problem, and require each target to be assigned to one of the source patches, where the assignment error is proportional to the geometric mismatch. Additional smoothness and sparsity energies allow for control of the tradeoff between the number of panels (manufacturing complexity) and reconstruction accuracy.
In order to assemble our solution, we manufacture a set of custom connectors to join our panels. Starting with the assignment solution, we extract the framed curves along the joint boundaries. Along these curves, we sweep an H-profile in order to obtain connectors with slits on both sides that fit the adjacent panels. These resulting connectors are printed using an ordinary fused-deposition-modeling 3D printer.
Finally we assemble the plastic panels cut from the bottle using the printed connectors, yielding our final object.
@article{baas2025shape,
author = {Berend Baas and David Bommes and Adrien Bousseau},
year = {2025},
title = {Shape Approximation by Surface Reuse},
journal = {Computer Graphics Forum},
volume = {44},
number = {1},
doi = {10.1111/cgf.70204}}