Нахождение выпуклой оболочки
В системе MATLAB определена функция вычисления точек выпуклой оболочки:
- convhull (х,у) – возвращает индексы тех точек, задаваемых векторами х и у, которые лежат на выпуклой оболочке;
- convhull(x,y,TRI) – использует триангуляцию, полученную в результате применения функции триангуляции Делоне del aunay, вместо того чтобы вычислять ее самостоятельно. Пример:
>> xx=-0.8:0.03:0.8; >> yy = abs(sqrt(xx)); >> [x,y] = 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.
