0

円周上の特定の点の周りの点を見つけることができる関数を作成しようとしています。ウェブサイトを検索したところ、円の内側の点に対してそれを行う質問が見つかりました。

すでに円を作成しており、その円のポイントはベクトルであるセルに格納されています。ウイルスである 20 点のベクトルも作成しました。また、ウイルスの 1 つがセルの外側にヒットしたことをチェックする関数も既に作成しています。セルにヒットしたウイルスをチェックして、ウイルスの全方向に 2 ポイントの範囲内に他のウイルスがあるかどうかを確認する関数を C++ で作成しようとしています。その範囲内にあるすべてのウイルスを数えてから、それらを同じ場所の円に移動したいと考えています。

範囲を見つける方法に行き詰まっています。どんな助けでも素晴らしいでしょう。前もって感謝します!

4

2 に答える 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単位以内の位置を見つけることができます(この関数は、パラメーターとして行列を取ります)。

于 2012-08-16T19:53:04.310 に答える
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) ) )
于 2012-08-16T19:51:03.263 に答える