Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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
Algorithm 找到多个圆半径内的点的算法?_Algorithm - Fatal编程技术网

Algorithm 找到多个圆半径内的点的算法?

Algorithm 找到多个圆半径内的点的算法?,algorithm,Algorithm,我有很多半径为1的圆,需要找到一个点(或者更可能是多个点的平均值),它包含在所有这些圆的半径内。有没有一种算法可以做到这一点而不必使用暴力 我在下面添加的注释详细说明了我的问题: “增加一点特殊性:我试图找到一个点(或非常接近它的某个地方,至少在0.05个单位的精度内)。为我找到该点提供的唯一信息是一组大约50个点,所有这些点都在一定的误差半径内(在本例中为1个单位)关于我的神秘点。因此,我试图找到的点在给定给我的所有圆的半径内。我正在寻找一种算法,除了强制大量随机点直到1符合所有条件。对不起,

我有很多半径为1的圆,需要找到一个点(或者更可能是多个点的平均值),它包含在所有这些圆的半径内。有没有一种算法可以做到这一点而不必使用暴力

我在下面添加的注释详细说明了我的问题:


“增加一点特殊性:我试图找到一个点(或非常接近它的某个地方,至少在0.05个单位的精度内)。为我找到该点提供的唯一信息是一组大约50个点,所有这些点都在一定的误差半径内(在本例中为1个单位)关于我的神秘点。因此,我试图找到的点在给定给我的所有圆的半径内。我正在寻找一种算法,除了强制大量随机点直到1符合所有条件。对不起,如果我的问题非常模糊,这是一个抽象的问题,很难解释。”

最简单的解决方案是O(n^3)此问题的时间复杂度解决方案

式中,n=圈数

至少一个圆交点将是一个好答案

找到所有圆之间所有可能的交点。现在在这些交点中找到所有其他圆内的一个交点

下面是一个简单的伪代码:

vector<Point> points;
vector<Circles> circs;    
for(i=0;i<circs.size();i++) {
for(j=i+1;j<circs.size();j++) {
    points.push_back(find_intersection(circs[i],circs[j]));
    //here you will find at most 2 intersections push both in this list
}

for(i=0;i<points.size();i++) {
    int cicrs_covered = 0;
    for(j=0;j<circs.size();j++) {
        if(is_point_inside_circle(points[i],circs[j])) {
            cicrs_covered++;
        }
    }
    if(cicrs_covered == circs.size()) {
        //answer is points[i]
    }
}
矢量点;
向量圈;

对于(i=0;你能举个例子吗?你所说的许多点的平均值是什么意思?半径中包含了什么?你想要一个在所有圆的交点内的点吗?@Rajesh:这个问题绝对没有问题。我已经标记了你的评论。为了增加一点特殊性:我正在试图找到一个点(或非常接近它的某个地方,至少在0.05单位精度内)。我找到该点的唯一信息是一组大约50个点,所有这些点都在一定的误差半径内(在本例中为1个单位)关于我的神秘点。因此,我试图找到的点在给定给我的所有圆的半径内。我正在寻找一种算法,除了强制大量随机点,直到1符合所有条件。对不起,如果我的问题很模糊,这是一个抽象的问题,很难解释。而且,圆不是必需的y均匀分布在点周围,因此圆中心的平均值不是有效的估计。@nardavin您应该编辑自己的问题,并将此信息添加到问题本身中。