Нахождение выпуклой оболочки
В системе 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.