【问题标题】:Find points outside a circle查找圆外的点
【发布时间】:2015-03-22 23:48:11
【问题描述】:
我正在尝试创建一个函数,该函数可以让我找到圆周上特定点周围的点。我搜索了网站,发现了一个关于圆圈内部点的问题。
我已经创建了一个圆,该圆的点存储在一个向量中,即单元格。我还创建了一个包含 20 个点的病毒向量。我还创建了一个函数来检查其中一种病毒是否击中了细胞外部。我正在尝试在 C++ 中创建一个函数,该函数将检查攻击细胞的病毒,以查看病毒各个方向的两点范围内是否还有其他病毒。我想计算该范围内的所有病毒,然后将它们移动到同一位置的圆圈中。
我不知道如何找到范围。任何帮助都会很棒。提前致谢!
【问题讨论】:
标签:
c++
vector
geometry
points
【解决方案1】:
一些用于查找 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) ) )
【解决方案2】:
将数据存储在矩阵中可能更简单。
例如:
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 个单位内的位置(该函数将矩阵作为其参数)。