2012-08-16 95 views
0

我试图创建一个功能,让我发现周围的圆的圆周的特定点外点。我搜索了网站,发现了一个问题,它在圈子内部的点上。查找点的圆

我已经创建了一个圆和该圆的点被存储在向量,所述细胞。我还创建了20个病毒矢量。我也已经创建了一个函数来检查其中一个病毒是否在单元格外。我正在尝试在C++中创建一个函数,该函数将检查命中该单元格的病毒,以查看病毒所有方向上的两点范围内是否存在其他病毒。我想要计算所有在该范围内的病毒,然后将它们移动到同一位置的圆圈中。

我坚持如何找到的范围内。任何帮助都会很棒。提前致谢!

+0

你需要知道如何找到两个点之间的距离? – 2012-08-16 19:40:50

回答

0

在范围R发现圆形病毒一些伪代码:

Let r=distance between two circular viruses 
Let R=range to be checked 

if r is less than R, increment virus counter. 

Finding r is easy: 
r = square root of(square of(x(virus 1)-x(virus 2)) + square of(y(virus 1)-y(virus 2))) 
0

这样可能比较简单的数据存储在一个矩阵。

例如为:

0 0 0 0 0 
0 1 0 1 0 
0 0 0 0 0 
0 1 0 0 0 
0 0 0 0 1 

随着1指示 “病毒” 是在该位置。

然后,您可以创建一个递归函数内找到2个单位病毒细胞碰撞的位置(该函数将采取矩阵作为其参数)。