gpt4 book ai didi

C:在矩形(本初子午线、赤道等)内查找点的边缘情况?

转载 作者:行者123 更新时间:2023-11-30 19:12:03 25 4
gpt4 key购买 nike

找到多边形中的点是一个常见问题,但是,我不明白为什么许多人为本初子午线、赤道和国际日期变更线创建了边缘情况。本初子午线以西的点的负值和本初子午线以东的点的正值不会解决任何问题吗?

下面的函数尝试查看矩形内是否存在一个点(即它使用两个点来确定矩形)。它不会对本初子午线或赤道进行任何检查,到目前为止,我还没有找到我的函数失败的单一边缘情况。我是否遗漏了一些东西,或者有许多程序员不必要地尝试处理这种边缘情况?

任何人都可以找到任何边缘情况,其中以下函数本应返回 true/false,反之亦然?我假设如果有人确实找到了一个,它会处理本初子午线、赤道或国际日期变更线之间的一点。

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

typedef struct point_s
{
long latitude;
long longitude;
} point_t;

bool find_point_on_plane(point_t *, point_t *, point_t *);
int main(int argc, char * argv[])
{
point_t * london = (point_t *) malloc(sizeof(point_t));
point_t * cambridge = (point_t *) malloc(sizeof(point_t));
point_t * x = (point_t *) malloc(sizeof(point_t));

london->latitude = 51.5074;
london->longitude = -.1278;
cambridge->latitude = 52.2053;
cambridge->longitude = 0.1218;
x->latitude = 52.0;
x->longitude = 0.0;

find_point_on_plane(london, cambridge, x) ? printf("True.\n") : printf("False.\n");
return 0;
}

bool find_point_on_plane(point_t * lower_left, point_t * upper_right, point_t * x)
{
if(x->latitude <= upper_right->latitude &&
x->latitude >= lower_left->latitude &&
x->longitude <= upper_right->longitude &&
x->longitude >= lower_left->longitude)
{
return true;
}
return false;
}

最佳答案

像这样的窗口会出现问题:

enter image description here

关于C:在矩形(本初子午线、赤道等)内查找点的边缘情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com