pointLocation
包围点的三角形或四面体
语法
说明
示例
包围点的三角形
查找三角剖分中包围一组查询点的三角形。
定义三角剖分的点和连接。
TP = [2.5 8.0; 6.5 8.0; 2.5 5.0; 6.5 5.0; 1.0 6.5; 8.0 6.5]; C = [5 3 1; 3 2 1; 3 4 2; 4 6 2]; TR = triangulation(C,TP);
定义两个查询点。
P = [2.25 7; 6 6.5];
绘图三角剖分和查询点。
triplot(TR) hold on plot(P(:,1),P(:,2),'k*') ylim([4 9]) xlim([0 9])
确定包围每个查询点的三角形的 ID。
ID = pointLocation(TR,P)
ID = 2×1
1
3
用红色突出显示包围查询点的三角形。
triplot(TR.ConnectivityList(ID,:),TP(:,1),TP(:,2),'r')
包围点的四面体
查找三维三角剖分中包围一组查询点的四面体。
基于一组三维点创建德劳内三角剖分。
rng('default')
x = rand([20 1]);
y = rand([20 1]);
z = rand([20 1]);
TR = delaunayTriangulation(x,y,z);
查找包围查询点的四面体的 ID 并计算查询点的重心坐标。
P = [0.7 0.6 0.3; 0.5 0.5 0.5]; [ID,B] = pointLocation(TR,P)
ID = 2×1
9
8
B = 2×4
0.2046 0.0893 0.5721 0.1340
0.1900 0.1495 0.6422 0.0183
输入参数
TR
— 三角剖分表示法
标量三角剖分对象
三角剖分表示法,指定为标量 triangulation
或 delaunayTriangulation
对象。
数据类型: triangulation
| delaunayTriangulation
P
— 查询点
2 列矩阵(二维) | 3 列矩阵(三维)
查询点,指定为 2 列矩阵(二维)或 3 列矩阵(三维)。P
包含查询点的 x 坐标和 y 坐标,还可能包含 z 坐标。
数据类型: double
x
— x 坐标
列向量
查询点的 x 坐标,指定为列向量。
数据类型: double
y
— y 坐标
列向量
查询点的 y 坐标,指定为列向量。
数据类型: double
z
— z 坐标
列向量
查询点的 z 坐标,指定为列向量。
数据类型: double
输出参量
ID
— 三角形或四面体 ID
列向量
包围查询点的三角形或四面体的三角形或四面体 ID,以列向量形式返回。三角形或四面体 ID 是 ConnectivityList
属性中对应三角形或四面体的行号。
如果查询点位于两个或多个三角形或四面体的边界上,将返回最大 ID。
ID
包含不位于三角剖分的三角形或四面体中的点的 NaN
值。
数据类型: double
B
— 重心坐标
3 列矩阵(二维) | 4 列矩阵(三维)
每个查询点相对于包围它的三角形或四面体的重心坐标,以 3 列矩阵(二维)或 4 列矩阵(三维)形式返回。
数据类型: double
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
版本历史记录
在 R2013a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)