点在多边形内算法 如何判断一个点是否在一个多边形内?
浏览量:2772
时间:2021-03-15 19:00:17
作者:admin
如何判断一个点是否在一个多边形内?
假设多边形的坐标存储在一个数组中。首先,我们需要得到阵列在横坐标和纵坐标上的最大值和最小值,并根据这四个点计算出一个四边形。首先要判断目标坐标点是否在四边形内。如果在四边形之外,我们可以跳过更复杂的计算,直接返回false。
//我不能通过这个测试。。。直接返回false;
下一步是核心算法部分:
首先,参数nvert表示多边形的几个点。浮点数testx和testy分别表示待测点的横坐标和纵坐标,*vertx和*verty分别表示多边形横坐标和纵坐标数组的第一个地址。
我们注意到每个计算都涉及两个相邻点和要测试的点,然后考虑两个问题:verty[J]<testy< verty[i
]2?如果你不明白If语句的后半部分,请在纸上写下I和j之间的斜率公式。在初中阶段你需要运用一点解析几何和不等式的知识。对于大多数代码农民来说,这是小菜一碟。
点在多边形内算法 计算一个点是否在多边形内 点是否在多边形面积内
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。