文档

nearestNeighbor

最近的顶点

语法

ID =近邻(TR,P)
ID =近邻(TR,x,y)
ID =近邻(TR,x,y,z)
[ID,d] = nearestNeighbor(___

描述

例子

ID= nearestNeighbor (TRP返回最接近查询点的顶点的idP.矩阵中的每一行P包含查询点的坐标。

ID= nearestNeighbor (TRxy指定了x坐标和y-二维查询点的坐标作为单独的列向量。

例子

ID= nearestNeighbor (TRxyz指定了x坐标,y坐标,z-三维查询点的坐标作为单独的列向量。

例子

IDd=近邻(___还返回每个查询点与其最近的相邻查询点之间的欧氏距离。

例子

全部折叠

在三维三角测量中计算最近的邻居。

创建一个三维Delaunay三角定位。

P = [1 1 0;-1 1 0;-1 -1 0;1 -1 0;0 0 2;0 0 0];TR = delaunayTriangulation(P);

绘制三角剖分图和一个查询点。

tri = TR(:,:);trisurf(三P (: 1), P (:, 2), P (:, 3),“FaceAlpha”, 0.5)X = 0;Y = -0.5;Z = 2;plot3 (x, y, z,“k *’

找到与查询点最近的邻居的坐标。

ID =近邻(TR,x,y,z);C = TR.Points(ID,:)
C =1×30 0 2

在二维三角剖分中计算最近的邻居。

创建一个二维三角定位。

C = [5 3 1;3 2 1;3 4 2;4 6 2];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); TR = triangulation(C,TP);

定义两个查询点。

P = [2 4;6 6.5);

绘制三角剖分和查询点。

triplot (TR)情节(P (: 1), P (:, 2),“k *’([1.5 8.5]) xlim([0.5 8.5])

找到与查询点最近的邻居以及它们之间的距离。

[ID,d] = nearestNeighbor(TR,P);

用红色突出显示三角形划分中与查询点最近的点。

N = tp (id,:);情节(N (: 1), N (:, 2),“* r”

显示每个查询点与其最近邻居之间的距离。

d
d =2×11.1180 - 1.5811

输入参数

全部折叠

三角表示,指定为标量三角测量delaunayTriangulation对象。nearestNeighbor不支持万博1manbetxdelaunayTriangulation具有约束边的对象。

数据类型:三角测量|delaunayTriangulation

查询点,指定为具有2或3列的矩阵。P包含了x坐标,y-坐标,和(可能)z-查询点的坐标。

数据类型:|

x查询点的坐标,指定为列向量。

数据类型:|

y查询点的坐标,指定为列向量。

数据类型:|

z查询点的坐标,指定为列向量。

数据类型:|

输出参数

全部折叠

与查询点最近的邻居的顶点id,作为列向量返回。对象中对应顶点的行号财产。

数据类型:|

从查询点到它们最近的邻居的欧氏距离,作为长度相同的列向量返回ID

数据类型:|

在R2013a中介绍

这个话题有帮助吗?