plot::hull

Вычислите выпуклую оболочку набора точек

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

plot::hull(L)

Описание

plot::hull вычисляет выпуклую оболочку списка точек в любой размерности, т.е. самую маленькую выпуклую область, содержащую все точки. Такая область ограничена симплексами (прямые линии в плоскости, треугольники в 3D) и именно этими симплексами plot::hull возвращается.

Взаимодействия среды

Несмотря на то, что plot::hull принимает и возвращает значения с плавающей точкой, фактические расчеты происходят в аппаратных плавающих точках и поэтому не затронуты значением DIGITS.

Примеры

Пример 1

Мы генерируем список случайных точек и вычисляем их выпуклую оболочку:

X := stats::uniformRandom(0, 20):
l := [[X(), X()] $ i = 1..10]:
h := plot::hull(l):

Выпуклая оболочка возвращена как списки списков, как принято plot::Polygon2d:

h[1]

plot(plot::PointList2d(l),
     plot::Polygon2d(t) $ t in h,
     Closed, PointSize=2)

Пример 2

Выпуклую оболочку списка точек в 3D также легко визуализировать:

l := [[x, y, z] $ y = z..x $ z = -x..x $ x = 0..10]:
h := plot::hull(l):
plot(plot::PointList3d(l, PointSize=1),
     plot::Polygon3d(t) $ t in h,
     Closed, Filled, FillColor=RGB::LightOrange.[0.6])

Параметры

L

Список точек, которые даны как списки действительных значений

Возвращаемые значения

Список симплекс размерности меньше, чем та из точек в L, данный как списки списков значений с плавающей точкой.

Алгоритмы

plot::hull использование qhull от Центра Геометрии Миннесотского университета, смотрите www.qhull.org.