Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何确定点是否在边界内?_C - Fatal编程技术网

C 如何确定点是否在边界内?

C 如何确定点是否在边界内?,c,C,我参与了一个地理项目: 如果你有一个航班,在海岸线10英里以内,它上面的led会被触发,否则会保持不变。 我们已经生成了500组坐标和离散数字(经度和纬度) 我的第一个想法是创建一个网格,每个区块是3英里x 3英里,所有陆地部分都是1,否则为0。我们计算最近的24个块的和,如果它大于1。它不会触发 然后我的经理建议我们可以找到多边形的质心,然后每次计算距离。 有人能解释一下这个算法吗 很抱歉,我已经很久没有接触任何编程了,我是一名机械工程师,经理认为这应该是一个有趣的工作 提前谢谢。您可以查看一

我参与了一个地理项目: 如果你有一个航班,在海岸线10英里以内,它上面的led会被触发,否则会保持不变。 我们已经生成了500组坐标和离散数字(经度和纬度)

我的第一个想法是创建一个网格,每个区块是3英里x 3英里,所有陆地部分都是1,否则为0。我们计算最近的24个块的和,如果它大于1。它不会触发

然后我的经理建议我们可以找到多边形的质心,然后每次计算距离。 有人能解释一下这个算法吗

很抱歉,我已经很久没有接触任何编程了,我是一名机械工程师,经理认为这应该是一个有趣的工作


提前谢谢。

您可以查看一下

如果您可以获得飞机的Lat和Long,您可以使用哈弗森公式计算距离海岸线的距离,如果在距离范围内,请使用led执行任务。最后的方法将是哈弗森公式,但是,我们只需要快速解决这个问题,因为我们现在还没有一个cs的主要工程师,海岸线是如何描述的?你有一组(x,y)或(lat,long)坐标,或者其他什么。我可以给你一个现成的解决方案,但它是用python编写的,你可以将它嵌入到你的C代码中,但是,这并不容易。这里有一个来自python文档的示例
来自haversine import haversine,单位里昂=(45.7597,4.8422)#(拉特,朗)巴黎=(48.8567,2.3508)
haversine(里昂,巴黎)>>392.217259594006#以公里为单位(拉特,朗),大约500米。嘿,查尔斯,我简单地读了一下。对于这个项目和我来说,这更复杂。试着画一条简单的线,然后做质心查找。还是谢谢你的帮助!