Иллюстрированный самоучитель по Matlab

Нахождение выпуклой оболочки


В системе 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.



Содержание раздела