我有一个数据集(X,Y位置)用于形成多边形,第二个数据集用于检查其在第一个数据集的多边形中的存在与否。我计划在第一个数据集多边形中更改数据点的数量。 如果在绘制第二个数据集后更改第一个多边形中的数据点数,则可以说第二个数据集存在于第一个数据集中。但我不能在Matlab上为它编写正确的代码。 如何计算多边形中数据点的数量?
答案 0 :(得分:0)
您可以使用inpolygon
检查第二个数据集中的每个点是否在第一个数据集形成的多边形内部
is_inside = inpolygon(data2(:,1), data2(:,2), data1(:,1), data1(:,2));
这将生成一个logical
数组,其中包含每个数据点的条目。然后,您可以通过对此向量求和来确定多边形内部的点数。
nPointsInside = sum(is_inside);