openGJK: compute minimum distance between 3D polyhedra

Version 1.2 (41.1 KB) by Mattia
Fast and reliable implementation of the Gilbert-Johnson-Keerthi (GJK) algorithm. University of Oxford.
303 Downloads
Updated Thu, 28 Dec 2023 12:50:05 +0000
This reposity implements a new verstion of the GJK algorithm to compute the minimum ditance between two convex bodies in 3D. All it needs are the coordinates of the bodies in [N x 3] matrices, where N is the number of points defining a body.
An example is provided in example2_mex/runme.m. By running this file, Matlab will compile a MEX funciton which is called thereaftert. To compile a MEX function you'll need a C/C++ compiler, please refer to Matlab documention or leave a comment below.
Thanks to Kwanyuan Chan for this tip to Windows users: Matlab users need to set up the MinGW-w64 C/C++ compiler before running the example2_mex/runme.m file. More about the compile and related setting procedures at:https://www.mathworks.com/matlabcentral/fileexchange/52848-matlab-support-for-mingw-w64-c-c-compiler

Cite As

Montanari, Mattia, et al. “Improving the GJK Algorithm for Faster and More Reliable Distance Queries Between Convex Objects.” ACM Transactions on Graphics, vol. 36, no. 4, Association for Computing Machinery (ACM), June 2017, p. 1, doi:10.1145/3072959.3083724.

View more styles

Montanari, Mattia, and Nik Petrinic. “OpenGJK for C, C# and Matlab: Reliable Solutions to Distance Queries between Convex Bodies in Three-Dimensional Space.” SoftwareX, vol. 7, Elsevier BV, Jan. 2018, pp. 352–55, doi:10.1016/j.softx.2018.10.002.

View more styles
MATLAB Release Compatibility
Created with R2018b
Compatible with R2016a and later releases
Platform Compatibility
Windows macOS Linux
Categories
Find more on Bounding Regions in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!

examples/matlab

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.2

link and docs

1.0.2

Docs and links updates

1.0.1

Update description.

1.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.