reducepatch

Сокращение количества поверхностей закрашенной фигуры

Синтаксис

reducepatch (p, r)
nfv = reducepatch (p, r)
nfv = reducepatch (fv, r)
nfv = reducepatch (p)
nfv = reducepatch (fv)
reducepatch..., 'быстро')
reducepatch..., 'многословный')
nfv = reducepatch (f, v, r)
[nf, nv] = reducepatch (...)

Описание

reducepatch(p,r) сокращает количество поверхностей закрашенной фигуры, идентифицированной указателем p при попытке сохранить полную форму исходного объекта. MATLAB интерпретирует фактор сокращения r одним из двух способов в зависимости от его значения:

  • Если r - меньше чем 1, r интерпретирован как часть исходного количества поверхностей. Например, если вы задаете r как 0,2, затем количество поверхностей сокращено к 20% номера в исходной закрашенной фигуре.

  • Если r больше, чем или равен 1, то r является целевым количеством поверхностей. Например, если вы задаете r как 400, затем количество поверхностей сокращено, пока нет 400 остающихся поверхностей.

nfv = reducepatch(p,r) возвращает уменьшенный набор поверхностей и вершин, но не устанавливает свойства Faces и Vertices закрашенной фигуры p. Struct nfv содержит поверхности и вершины после сокращения.

nfv = reducepatch(fv,r) выполняет сокращение на поверхностях и вершинах в struct fv.

nfv = reducepatch(p) и nfv = reducepatch(fv) используют значение сокращения 0.5.

reducepatch..., 'быстро'), принимает, что вершины уникальны, и не вычисляет совместно использованные вершины.

reducepatch..., 'многословный'), распечатывает сообщения о ходе выполнения к командному окну, в то время как вычисление прогрессирует.

nfv = reducepatch(f,v,r) выполняет сокращение на поверхностях в f и вершинах в v.

[nf,nv] = reducepatch(...) возвращает поверхности и вершины в массивах nf и nv.

Примеры

свернуть все

Этот пример иллюстрирует эффект сокращения количества поверхностей только к 15% исходного значения.

figure
[x,y,z,v] = flow;
p = patch(isosurface(x,y,z,v,-3));
p.FaceColor = 'w';
p.EdgeColor = 'b';
daspect([1,1,1])
view(3)

Сократите количество поверхностей.

reducepatch(p,0.15)

Советы

Если закрашенная фигура содержит несовместно использованные вершины, MATLAB вычисляет совместно использованные вершины прежде, чем сократить количество поверхностей. Если поверхности закрашенной фигуры не являются треугольниками, MATLAB триангулирует поверхности перед сокращением. Возвращенные поверхности всегда задаются как треугольники.

Количество выходных треугольников не может быть точно номером, заданным с аргументом фактора сокращения (r), особенно если поверхности исходной закрашенной фигуры не являются треугольниками.

Расширенные возможности

Представлено до R2006a

Была ли эта тема полезной?