MATLAB Examples

Vertices of 2-dimensional convex hull of a random point set

Contents

Initial data

Set the random number generator.

rng(1);

Set the points the convex hull of which is to be calculated.

points=rand(100,2);

Plot the point set in blue circles.

figure('Name','Point set','NumberTitle','off')
scatter(points(:,1),points(:,2),...
    'marker','o','MarkerEdgeColor',[0 0 1],'LineWidth',2)
xlabel('x','FontSize',13);
ylabel('y','FontSize',13);
title('Point set','FontSize',13)
axis equal

Processing

Find the point identities defining each facet of the convex hull of the point set with the new algorithm.

chull1=convhull_nd(points);

Plots

Find the coordinates of the vertices of the convex hull.

convhullvert=points(unique(chull1(:)),:);

Plot the vertices of the convex hull of the point set in orange asterisks.

hold on
scatter(convhullvert(:,1),convhullvert(:,2),...
    'marker','*','MarkerEdgeColor',[1 0.5 0],'LineWidth',2);

Contact author

(c) 2014 by George Papazafeiropoulos
First Lieutenant, Infrastructure Engineer, Hellenic Air Force
Civil Engineer, M.Sc., Ph.D. candidate, NTUA

Email: gpapazafeiropoulos@yahoo.gr

Website: http://users.ntua.gr/gpapazaf/