A system that uses a technique called constructive solid geometry (CSG) is allowing MIT researchers to deconstruct objects and turn them into 3D models, thereby allowing them to reverse-engineer complex things.
The system appeared in a paper entitled “InverseCSG: Automatic Conversion of 3D Models to CSG Trees” by Tao Du, Jeevana Priya Inala, Yewen Pu, Andrew Spielberg, Adriana Schulz, Daniela Rus, Armando Solar-Lezama, and Wojciech Matusik.
“At a high level, the problem is reverse engineering a triangle mesh into a simple tree. Ideally, if you want to customize an object, it would be best to have access to the original shapes — what their dimensions are and how they’re combined. But once you combine everything into a triangle mesh, you have nothing but a list of triangles to work with, and that information is lost,” said Tao Du to 3DPrintingIndustry. “Once we recover the metadata, it’s easier for other people to modify designs.”
The process cuts objects into simple solids that can then be added together to create complex objects. Because 3D scanning is imperfect, the creation of mesh models of various objects rarely leads to a perfect copy of the original. Using this technique, individual parts are cut away, analyzed and reassembled, allowing for a more precise scan.
“Further, we demonstrated the robustness of our algorithm by solving examples not describable by our grammar. Finally, since our method returns parameterized CSG programs, it provides a powerful means for end-users to edit and understand the structure of 3D meshes,” said Du.
The system detects primitive shapes and then modifies them. This allows it to recreate almost any object with far better accuracy than in previous versions of the software. It’s a surprisingly cool way to begin hacking hardware in order to understand it’s shape, volume and stability.