Вы можете решить эту проблему, используя DelaunayTri class и pointLocation метод . Вот пример:
pointMatrix = rand(20,3); %# A set of 20 random 3-D points
dt = DelaunayTri(pointMatrix); %# Create a Delaunay triangulation
[X,Y,Z] = meshgrid(0:0.01:1); %# Create a mesh of coordinates for your volume
simplexIndex = pointLocation(dt,X(:),Y(:),Z(:)); %# Find index of simplex that
%# each point is inside
mask = ~isnan(simplexIndex); %# Points outside the convex hull have a
%# simplex index of NaN
mask = reshape(mask,size(X)); %# Reshape the mask to 101-by-101-by-101
Приведенный выше пример создает логическую маску для сетки 101 на 101 на 101, охватывающей единичный объем (от 0 до 1 в каждом измерении), с 1 (true) для точек сетки внутри выпуклой оболочки набор 3D-точек.