convexHull

Выпуклая оболочка триангуляции Делоне

Описание

пример

C = convexHull(DT) возвращает вершины выпуклой оболочки триангуляции Делоне.

пример

[C,v] = convexHull(DT) также возвращает площадь или объем, ограниченную выпуклую оболочку.

Примеры

свернуть все

Вычислите и постройте график выпуклой оболочки 2-D триангуляции Делоне.

Создайте триангуляцию Делоне из набора 2-D точек.

rng default;
x = rand([10,1]);
y = rand([10,1]);
DT = delaunayTriangulation(x,y);

Вычислите выпуклую оболочку.

C = convexHull(DT);

Постройте график триангуляции и выделите выпуклая оболочка красным цветом.

plot(DT.Points(:,1),DT.Points(:,2),'.','MarkerSize',10)
hold on
plot(DT.Points(C,1),DT.Points(C,2),'r') 

Figure contains an axes. The axes contains 2 objects of type line.

Вычислите и постройте график выпуклой оболочки 3-D Триангуляция Делоне.

Создайте триангуляцию Делоне из 3-D набора точек.

rng('default');
P = rand([25,3]);
DT = delaunayTriangulation(P);

Вычислите выпуклую оболочку и объем, ограниченную выпуклую оболочку.

[C,v] = convexHull(DT);

Отобразите объем и постройте график выпуклой оболочки.

v
v = 0.3943
trisurf(C,DT.Points(:,1),DT.Points(:,2),DT.Points(:,3), ...
       'FaceColor','cyan')

Figure contains an axes. The axes contains an object of type patch.

Входные параметры

свернуть все

Триангуляция Делоне, заданная как скаляр delaunayTriangulation объект.

Типы данных: delaunayTriangulation

Выходные аргументы

свернуть все

Выпуклые оболочки, возвращенные как вектор-столбец или матрица идентификаторов вершин.

  • Когда DT является 2-D триангуляцией, C - вектор-столбец, содержащая последовательность вершинных идентификаторов вокруг выпуклой оболочки. Идентификаторы вершин являются номерами строк вершин в Points свойство.

  • Когда DT - 3-D триангуляция, C - матрица из 3 столбцов, содержащая список связности вершин треугольника в выпуклой оболочке.

Типы данных: double

Площадь или объем выпуклой оболочки, возвращаемый в виде скаляра.

Типы данных: double

См. также

Введенный в R2013a