当前位置: 首页 > 知识库问答 >
问题:

查找给定半径的不包含点的圆

齐博厚
2023-03-14

我正在研究一个问题,基本上可以归结为以下几点:

给定:

    null

对于这样一个位置,有什么算法的想法吗?我最终将使用java实现,但我可以使用PsuedoCode。

共有1个答案

卢书
2023-03-14

回答

如果n是点数,我将给出情况n>=2的解法。

你可以找到两个圆,通过选择的2点。

for i = 0 to n-1
    for j = 0 to n-1
        if dist(p[i], p[j]) <= 2 * r
            circle c1, c2 = circle that goes through p[i] and p[j]
            bool f1 = true
            for k = 0 to n-1
                if p[k] is in c1 -> f1 = false
            if f1 is true -> return center of c1
            bool f2 = true
            for k = 0 to n-1
                if p[k] is in c2 -> f2 = false
            if f2 is true -> return center of c2

如果找不到,可以用蒙特卡洛算法。
如果你在随机选择的几千个点中找不到,我认为“找不到”是可以的。

 类似资料:
  • 我在PostgreSQL/PostGIS中有一个名为的表,其中有两个几何列:()和(),指示旅程的开始和结束位置。 我还有一个单独的表,名为,带有几何列(),指示办公室的位置。 我的目标是从表中选择目标距离任何办公地点1000米以内的记录。 我需要激发什么查询才能获得所需的结果?

  • 我查阅了多个用不同形式的数学(微积分、几何、三角学等)编写的示例,但无法将其中任何一个转换为代码。我的理解是,给出的值产生两个不同的中心/交点。这些就是我需要弄清楚的。 这个解释器是在Arduino上运行的,用C语言编写的,如果有人能用伪代码来指导我,我会非常感激的。 谢了!

  • 问题内容: 他们是否有理由不决定在Android中添加contains方法(用于Path)? 我想知道我在路径中的点,并希望它比在这里看到的容易: 如何判断封闭路径是否包含给定点? 对我来说,创建一个ArrayList并将整数添加到数组中会更好吗?(我在控制声明中只检查了一次)。 到目前为止,我的选择是: 使用区域 使用ArrayList 扩展课堂 你的建议 我只是在寻找最有效的方法 问题答案:

  • 我已经10年没做过这样的数学了...我正在编程一个2D游戏和移动一个球员周围。当我移动播放器时,我试图计算离播放器位置200像素的圆上的点,给定-360到360之间的正或负角度(度)。屏幕是1280x720,0,0是屏幕的中心点。玩家在整个笛卡尔坐标系中移动。我试图找到的点可以不在屏幕上。 我尝试了文章中用半径和角度找到点的公式,但我不相信我理解了什么是“角度”,因为当我把角度作为-360到360

  • 问题内容: 我有这个脚本,它将在Google地图上显示自定义标记,但是我想包含一个输入文本框,并且能够输入城市/州和邮政编码,并查看其中是否有任何标记(例如400)距该城市/州或邮政编码的英里。如果地图可以是动态的,我会喜欢的,因此当您输入城市/州或邮政编码时,它会摆脱所有其他标记并仅保留该半径范围内的一个标记,从而在地图上显示结果,如果那太难了,那么说一个最接近单位的简单更改框也可以:)我搜索并

  • 我现在使用的算法有点问题。我想让它划定界限。 下面是当前行为的一个例子: 以下是一个被通缉行为的示例: C#中凸壳的当前代码:https://hastebin.com/dudejesuja.cs 我的问题是: 1) 这可能吗? R:是的 2)这甚至被称为凸包吗?(我不这么认为) R:不,这叫边界,link:https://www.mathworks.com/help/matlab/ref/boun