1

免責事項: これは授業のためのものですが、私はアイデアがまったくないので、正しい方向に向けて微調整していただければ幸いです。また、これは生の C で実装する必要があるため、派手なライブラリは使用できません。

潜水艦の捜索救助シミュレーターを作成する必要があります。MAX_XYZ (100000) のグリッド内の 3D 空間にランダムに配置されたプローブを見つける必要があります。私が与えられた唯一のツールは、特定の潜水艦とプローブの間の距離の大きさを示す「ping」です。目標は、この操作全体のコストを最適化して、すべての座標を確認するような力ずくの試みが機能しないようにすることです。したがって、私は三角測量を考えていました。

さて、私には非常に理にかなっています.3つの潜水艦を配置し、それぞれがpingを使用して、それらとプローブの間の距離を取得します。各潜水艦は互いに既知の距離を持っているため、それらを使って四面体のベースを構築するのは簡単で、ping の結果は特定の座標を指します。私が抱えている問題は、標高をどのように把握するかです、または四面体の高さ。

したがって、私がデータとして持っているのは次のとおりです。

  1. サブ間の距離 (ベクトル形式)
  2. 各潜水艦間の角度 (計算は非常に簡単)
  3. 各サブとプローブ間の距離 (ベースからピークまでの 3 セグメント)
  4. 四面体の外側の 3 つの面それぞれの内側の角度。

四面体の頂点とそれぞれの相対角度との関係を見つけようとしましたが、正三角形で構築された四面体を処理する必要があり、あまり役に立ちませんでした。これは trig で簡単に解決できる印象がありますが、表示されないか、もっとコーヒーが必要です。

任意の提案をいただければ幸いです!

4

1 に答える 1

6

これは宿題なので、ナッジします。

一般的に、これはマルチラテレーションの対象です。

マルチラテレーションは、既知の時間に信号をブロードキャストする既知の場所にある 2 つ以上のステーションまでの距離の差の測定に基づくナビゲーション技術です。絶対的な距離や角度の測定とは異なり、距離の差を測定すると、測定値を満たす場所が無数に発生します。これらの可能な位置をプロットすると、双曲線が形成されます。その曲線に沿った正確な位置を特定するために、別の測点ペアで 2 番目の測定が行われ、最初の曲線と交差する 2 番目の曲線が作成されます。2 つを比較すると、少数の可能な場所が明らかになり、「修正」が生成されます。

ウィキペディアのエントリでは、数学について詳しく説明しています。

于 2012-07-10T03:12:55.967 に答える