Main Content

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

freeBoundary

自由边界面

说明

示例

F = freeBoundary(TR) 返回 TR 中三角形或四面体的自由边界面。如果 TR 中的一个面仅被一个三角形或四面体引用,则它位于自由边界上。

示例

[F,P] = freeBoundary(TR) 还返回包含自由边界面的各个顶点的矩阵。

示例

全部折叠

您可以使用 freeBoundary 函数来突出显示二维 Delaunay 三角剖分的外边。

基于一组二维点创建三角剖分。

rng('default')
x = rand([20,1]);
y = rand([20,1]);
TR = delaunayTriangulation(x,y);

查找自由边界边。

F = freeBoundary(TR);

绘制三角剖分并用红色突出显示自由边界边。

triplot(TR)
hold on
plot(x(F),y(F),'-r','LineWidth',2)

Figure contains an axes object. The axes object contains 3 objects of type line.

您可以使用 freeBoundary 函数提取三维三角剖分中覆盖对象曲面的各分面。

加载三维三角剖分。

load tetmesh
TR = triangulation(tet,X);

计算边界三角剖分。

[F,P] = freeBoundary(TR);

绘制边界三角剖分。

trisurf(F,P(:,1),P(:,2),P(:,3), ...
       'FaceColor','cyan','FaceAlpha',0.8);

Figure contains an axes object. The axes object contains an object of type patch.

输入参数

全部折叠

三角剖分表示法,指定为标量 triangulationdelaunayTriangulation 对象。

数据类型: triangulation | delaunayTriangulation

输出参数

全部折叠

三角剖分连接列表,以矩阵形式返回。

如果您使用一个输出参数调用 freeBoundary,则 F 的元素是输入三角剖分的 Points 属性中的行号。如果您使用两个输出参数调用 freeBoundary,则 F 的元素是 P 中的行号。

数据类型: double

自由边界点,作为包含自由边界面的顶点坐标的矩阵返回。P 的每一行包含一个顶点的坐标。

数据类型: double

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2013a 中推出