我有一个数据集(X,Y 位置)用于形成多边形,第二个数据集用于检查它在第一个数据集的多边形中是否存在。我打算通过改变第一个数据集多边形中的数据点数量来做到这一点。如果在绘制第二个数据集后第一个多边形中的数据点数量发生了变化,那么我可以说第二个数据集存在于第一个数据集中。但我无法在 Matlab 上为其编写正确的代码。如何计算多边形中数据点的数量?
user7249226
问问题
37 次
您可以使用inpolygon
检查第二个数据集中的每个点是否在第一个数据集形成的多边形内
is_inside = inpolygon(data2(:,1), data2(:,2), data1(:,1), data1(:,2));
这将产生一个logical
数组,其中每个数据点都有一个条目。然后,您可以通过对该向量求和来确定多边形内部的点数。
nPointsInside = sum(is_inside);