Surface Booleans

Version 1.0.0 (1,88 Mo) par Eric Trudel
A script to demonstrate Boolean operations between two closed volumes. Procedures are implemented to ensure resulting meshes are watertight.
101 téléchargements
Mise à jour 23 déc. 2022

Afficher la licence

The main script titled "surface_booleans_script.m" contains the body of this submission.
Firstly, a cube and sphere are generated using a convex hull algortihm.
Afterwards the intersections of both shapes is performed using Jaroslaw Tuszynski SurfaceIntersection function (triangle-triangle intersection algorithm).
The intersecting edges are organized into open and closed loops ( form_intersection_loops_boolean() ).
These closed loops are used as a seed for a flood fill algortihm for organizing each face into a corresponding closed volume.
A boolean matrix is tabulated to determine which volume is associated with a Union, Subtraction or Intersection operation.
There are issues with co-planar triangles and floating point imprecision. However, there are checks in the main script that will alert the user if the surface boolean is acheivable or not.
For a better implementation of surface booleans I would actually recommend using the ISO2MESH package. The advantage of this code however is that it is purely coded inside of MATLAB.

Citation pour cette source

Eric Trudel (2024). Surface Booleans (https://www.mathworks.com/matlabcentral/fileexchange/122502-surface-booleans), MATLAB Central File Exchange. Récupéré le .

Compatibilité avec les versions de MATLAB
Créé avec R2020b
Compatible avec les versions R2020b et ultérieures
Plateformes compatibles
Windows macOS Linux
Remerciements

Inspiré par : Surface Intersection

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Publié le Notes de version
1.0.0