Efficient test for points inside a convex hull in n dimensions


Updated Thu, 06 Sep 2012 16:11:04 +0000

View License

Testing if a point is inside a convex hull can be done in a variety of ways. Inhull converts the problem into a dot product. If not supplied, it also computes the convex hull too. Inhull also attempts to avoid memory problems, doing the computation in smaller blocks when appropriate.

Here is a comparison of inhull to tsearchn:
n = 500;
m = 100;
p = 5;
xyz = rand(m,p);
testpts = rand(n,p)-.1;

tess = delaunayn(xyz);
in0 = ~isnan(tsearchn(xyz,tess,testpts));
in1 = inhull(testpts,xyz);

tsearchn: Elapsed time is 0.813646 seconds.
inhull: Elapsed time is 0.242993 seconds.

Cite As

John D'Errico (2023). Inhull (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP1
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!
Version Published Release Notes

minor changes for a tiny speed boost

Repaired example in the help