reducepatch
缩减补片面的数量
语法
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) 返回缩减的面和顶点集合,但不设置补片 p 的 Faces 和 Vertices 属性。结构体 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) 指定的数量相同,尤其是当原始补片的面不是三角形时更是如此。
扩展功能
版本历史记录
在 R2006a 之前推出

