Уменьшение числа граней сегмента
reducepatch(p,r)
nfv = reducepatch(p,r)
nfv = reducepatch(fv,r)
nfv = reducepatch(p)
nfv = reducepatch(fv)
reducepatch(...,'fast')
reducepatch(...,'verbose')
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. Структура nfv содержит грани и вершины после сокращения.
nfv = reducepatch(fv,r) выполняет сокращение граней и вершин в структуре fv.
nfv = reducepatch(p) и nfv = reducepatch(fv)использует значение сокращения, равное 0.5.
reducepatch(...,'fast') предполагает, что вершины уникальны и не вычисляют общие вершины.
reducepatch(...,'verbose') печатает сообщения о ходе выполнения в окне команд по мере выполнения вычислений.
nfv = reducepatch(f,v,r)выполняет сокращение на гранях в f и вершины в v.
[nf,nv] = reducepatch(...) возвращает грани и вершины в массивах nf и nv.
Если фрагмент содержит неразделенные вершины, MATLAB вычисляет общие вершины перед уменьшением числа граней. Если грани сегмента не являются треугольниками, MATLAB триангулирует грани перед уменьшением. Возвращаемые грани всегда определяются как треугольники.
Число выходных треугольников может не совпадать с числом, указанным в аргументе коэффициента уменьшения (r), особенно если грани исходного фрагмента не являются треугольниками.
isocaps | isonormals | isosurface | reducevolume | smooth3 | subvolume