Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

shrinkfaces

减小补片面的大小

语法

shrinkfaces(p,sf)
nfv = shrinkfaces(p,sf)
nfv = shrinkfaces(fv,sf)
shrinkfaces(p)
nfv = shrinkfaces(f,v,sf)
[nf,nv] = shrinkfaces(...)

说明

shrinkfaces(p,sf) 按收缩系数 sf 缩减补片 p 中的面的面积。收缩系数 0.6 会将每个面缩减为其原始面积的 60%。如果补片包含共享顶点,则 MATLAB® 软件在执行面面积缩减之前创建非共享顶点。

nfv = shrinkfaces(p,sf) 在结构体 nfv 中返回面和顶点数据,但不设置补片 pFacesVertices 属性。

nfv = shrinkfaces(fv,sf) 使用结构体 fv 中的面和顶点数据。

shrinkfaces(p)shrinkfaces(fv)(不指定缩减系数)假定缩减系数为 0.3。

nfv = shrinkfaces(f,v,sf) 使用数组 fv 中的面和顶点数据。

[nf,nv] = shrinkfaces(...) 在两个单独的数组而非结构体中返回面和顶点数据。

示例

全部折叠

加载流数据集,此数据集表示一股浸没射流在一个无限大的水箱内的速度剖面图。创建两个等值曲面以提供缩减面大小之前和之后的效果图。

使用 reducevolume 每隔一个点对流数据采样,然后使用 isosurface 生成面和顶点数据。绘制第一个等值面。然后,设置视图并添加标题。

[x,y,z,v] = flow;
[x,y,z,v] = reducevolume(x,y,z,v,2);
fv = isosurface(x,y,z,v,-3);
p1 = patch(fv);
p1.FaceColor = 'red';
p1.EdgeColor = [0.5 0.5 0.5];
daspect([1 1 1]); 
view(3); 
axis tight
title('Original')

Figure contains an axes object. The axes object with title Original contains an object of type patch.

使用 shrinkfaces 可修改面和顶点数据并绘制第二个补片。

figure
p2 = patch(shrinkfaces(fv,.3));
p2.FaceColor = 'red';
p2.EdgeColor = [0.5 0.5 0.5];
daspect([1 1 1]); 
view(3); 
axis tight
title('After Shrinking')

Figure contains an axes object. The axes object with title After Shrinking contains an object of type patch.

扩展功能

版本历史记录

在 R2006a 之前推出