Выпуклая оболочка N-D
K = convhulln (X)
K = convhulln (X, опции)
[K, v] = convhulln (...)
K = convhulln(X) возвращает индексы K точек в X, которые составляют фасеты выпуклой оболочки X. Если X содержит 2D координаты или 3-D координаты, то фасеты формируют треугольники или tetrahedra, соответственно. В целом X может быть m-by-n массив, представляющий точки m в n - размерный пробел. Если выпуклая оболочка имеет фасеты p затем, K имеет размер p-by-n.
convhulln использует Qhull.
K = convhulln(X,options) задает массив ячеек опций Qhull. Опции по умолчанию:
{'Qt'} для 2-, 3-. и 4-мерный входной параметр
{'Qt','Qx'} для 5-мерного входного параметра и выше.
Если options является [], опции по умолчанию используются. Для получения дополнительной информации о Qhull и его опциях, смотрите http://www.qhull.org/.
[K,v] = convhulln(...) также возвращает объем v выпуклой оболочки.
Графическое изображение вывода convhulln зависит от значения n:
Следующий пример иллюстрирует входной параметр options для convhulln. Следующие команды
X = [0 0; 0 1e-10; 0 0; 1 1]; K = convhulln(X)
возвратите предупреждение.
Warning: qhull precision warning: The initial hull is narrow (cosine of min. angle is 0.9999999999999998). A coplanar point may lead to a wide facet. Options 'QbB' (scale to unit box) or 'Qbb' (scale last coordinate) may remove this warning. Use 'Pp' to skip this warning.
Чтобы подавить предупреждение, используйте опцию 'Pp'. Следующая команда передает опцию 'Pp', наряду с 'Qt' по умолчанию, к convhulln.
K = convhulln(X,{'Qt','Pp'})
K =
1 4
1 2
4 2convhulln основан на Qhull [1]. Для получения информации о Qhull смотрите http://www.qhull.org/. Дополнительные сведения см. в http://www.qhull.org/COPYING.txt txt .
[1] Стригите, К. B. D. P. Добкин и H.T. Huhdanpaa, “Алгоритм Quickhull для Выпуклых оболочек”, Транзакции ACM на Математическом программном обеспечении, Издании 22, № 4, декабрь 1996, p. 469-483.