Нахождение
выпуклой оболочки
В системе
MATLAB определена функция вычисления точек выпуклой оболочки:
-
convhull
(х,у) — возвращает индексы тех точек, задаваемых векторами х и у, которые
лежат на выпуклой оболочке;
-
convhull(x,y,TRI)
— использует триангуляцию, полученную в результате применения функции триангуляции
Делоне del aunay, вместо того чтобы вычислять ее самостоятельно. Пример:
»
хх=-0.8:0.03:0.8;
»
уу
= abs(sqrt(xx));
»
[х,у] = pol2cart(xx,yy);
»
k = convhuTI(x,y);
»
plot(x(k),y(k).'r:',x,y,'g*')
Рис.
17.2.
Пример использования функции convhull
Рис. 17.2
иллюстрирует применение функции convhull для построения выпуклой оболочки. Функция
convhulln вычисляет n-мерную выпуклую поверхность, основана на алгоритме qhull.
Содержание раздела