文档

reducepatch

减少补丁面数量

语法

reducepatch (p, r)
nfv = reducepatch (p, r)
nfv = reducepatch(阵线,r)
nfv = reducepatch (p)
nfv = reducepatch(艘)
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)返回面和顶点的简化集,但不设置而且顶点块的属性p.的结构体nfv包含约简后的面和顶点。

nfv = reducepatch(阵线,r)对结构中的面和顶点执行约简艘渔船

nfv = reducepatch (p)而且nfv = reducepatch(艘)使用的约简值0.5

reducepatch(…,“快”)假设顶点是唯一的,不计算共享顶点。

reducepatch(…,“详细”)在计算进行时将进度消息打印到命令窗口。

nfv = reducepatch (f, v, r)对向内的面进行约简f顶点在v

(nf, nv) = reducepatch(…)返回数组中的面和顶点nf而且nv

例子

全部折叠

这个例子演示了将面的数量减少到原始值的15%的效果。

图[x,y,z,v] =流量;p =补丁(等值面(x, y, z, v, 3));p.FaceColor =' w ';p.EdgeColor =“b”;daspect([1, 1, 1])视图(3)

减少脸的数量。

reducepatch (p 0.15)

提示

如果补丁包含非共享顶点,MATLAB在减少面数之前计算共享顶点。如果贴片的面不是三角形,MATLAB先将其三角化再约简。返回的面总是定义为三角形。

输出三角形的数量可能不是简化因子参数(r),特别是当原始补丁的面不是三角形时。

之前介绍过的R2006a

这个话题有帮助吗?