2016 - 2024

感恩一路有你

点在多边形内算法 如何判断一个点是否在一个多边形内?

浏览量:2772 时间:2021-03-15 19:00:17 作者:admin

如何判断一个点是否在一个多边形内?

假设多边形的坐标存储在一个数组中。首先,我们需要得到阵列在横坐标和纵坐标上的最大值和最小值,并根据这四个点计算出一个四边形。首先要判断目标坐标点是否在四边形内。如果在四边形之外,我们可以跳过更复杂的计算,直接返回false。

//我不能通过这个测试。。。直接返回false;

下一步是核心算法部分:

首先,参数nvert表示多边形的几个点。浮点数testx和testy分别表示待测点的横坐标和纵坐标,*vertx和*verty分别表示多边形横坐标和纵坐标数组的第一个地址。

我们注意到每个计算都涉及两个相邻点和要测试的点,然后考虑两个问题:verty[J]<testy< verty[i

]2?如果你不明白If语句的后半部分,请在纸上写下I和j之间的斜率公式。在初中阶段你需要运用一点解析几何和不等式的知识。对于大多数代码农民来说,这是小菜一碟。

点在多边形内算法 计算一个点是否在多边形内 点是否在多边形面积内

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。