geom3d

Geometric computing library for 3D shapes: meshes, points, lines, planes...
42.7K Downloads
Updated 28 Feb 2022

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

The aim of geom3d library is to handle and visualize 3D geometric primitives such as points, lines, planes, polyhedra... It provides low-level functions for manipulating 3D geometric primitives, making easier the development of more complex geometric algorithms.
Note: the project has merged with the geom2d library (FeX 7844-geom2d), and is now hosted on GitHub: https://github.com/mattools/matGeom. The whole package can be retrieved from the matGeom toolbox contribution.

Cite As

David Legland (2024). geom3d (https://www.mathworks.com/matlabcentral/fileexchange/24484-geom3d), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!

demos-geom3d

demos-meshes3d

geom3d

geom3d/private

meshes3d

meshes3d/private

Version Published Release Notes
1.25

add link to matGeom (GitHub + FEx contribution)

1.24

new functions for processing 3D meshes (repairing, simplification), renaming of inertia ellipsoid into equivalent ellipsoid.

1.23.1.1

package as mltbx file

1.23.1.0

package as toolbox.

1.23.0.0

add meshes3d/meshFaceAreas.m, add geom3d/isTransform3d.m (thanks to Oqilipo), updated return type of several drawing functions, fixed bug in orientedBox3d

1.22.0.0

added several functions fore reading/writing 3D meshes in PLY and OFF formats, and new functions for working with 3d meshes (distancePointMesh, isPointInMesh).

1.21.0.0

integrate several contrinutions (oqilipo, Roozbeh). add clip/split/concatenate meshes, new transforms from vectors.

1.20.0.0

remove deprecated functions, update some display functions

1.19.2.0

fix bug in clipConvexPolyhedronHP, fix bug in nomalizePlane.m for multiple planes (thanks to Zubiao Xiong), add orientedBox3d

1.19.1.0

fix bug in polyhedronCentroid

1.19.0.0

Several updates for processing of meshes (intersectPlaneMesh, intersectLineSphere), for display of meshes, for computation and display of inertia ellipsoids

1.18.0.0

added trimMesh function (that removes non connected vertices from a mesh), update mergeCoplanarFaces, and update tolerance management in interesectLineMesh3d

1.17.0.0

fix various small bugs

1.16.0.0

fixed bug in surfToMesh

1.15.0.0

minor bug fixes, new functions for manipulating polygons, speed improvements (thanks to Sven Holcombe!)

1.14.0.0

several bug fixes, new functions (fitLine3d, parallelPlane, reversePlane, intersectPlaneMesh, meshCentroid...), and fonctions for creating meshes from patches or geometric primitives.

1.13.0.0

fix bugs in demos

1.12.0.0

bug fixes, new functions for spherical polygons, for reading meshes (off foramt), for point-edge distance, and for computing surface area of 3D polygons, meshes, or ellipsoids.

1.10.0.0

various code cleanup and speed improvements, mainly contributed by Sven Holcombe (many thanks!)

1.9.0.0

use degrees for drawing shapes, split lib into packages 'geom3d' and meshes3d

1.8.0.0

Add new functions for meshes and polyhedra, and for 3D transforms (rotations, basis transform). See file changelog.txt

1.5.0.0

fixed bugs in rotations and in drawing of some shapes, added rotation by Euler angles, various update in doc and in code

1.4.0.0

add missing demos

1.3.0.0

some bug fixes, demo files as published m-files.

1.0.0.0