免責事項: これは授業のためのものですが、私はアイデアがまったくないので、正しい方向に向けて微調整していただければ幸いです。また、これは生の C で実装する必要があるため、派手なライブラリは使用できません。
潜水艦の捜索救助シミュレーターを作成する必要があります。MAX_XYZ (100000) のグリッド内の 3D 空間にランダムに配置されたプローブを見つける必要があります。私が与えられた唯一のツールは、特定の潜水艦とプローブの間の距離の大きさを示す「ping」です。目標は、この操作全体のコストを最適化して、すべての座標を確認するような力ずくの試みが機能しないようにすることです。したがって、私は三角測量を考えていました。
さて、私には非常に理にかなっています.3つの潜水艦を配置し、それぞれがpingを使用して、それらとプローブの間の距離を取得します。各潜水艦は互いに既知の距離を持っているため、それらを使って四面体のベースを構築するのは簡単で、ping の結果は特定の座標を指します。私が抱えている問題は、標高をどのように把握するかです、または四面体の高さ。
したがって、私がデータとして持っているのは次のとおりです。
- サブ間の距離 (ベクトル形式)
- 各潜水艦間の角度 (計算は非常に簡単)
- 各サブとプローブ間の距離 (ベースからピークまでの 3 セグメント)
- 四面体の外側の 3 つの面それぞれの内側の角度。
四面体の頂点とそれぞれの相対角度との関係を見つけようとしましたが、正三角形で構築された四面体を処理する必要があり、あまり役に立ちませんでした。これは trig で簡単に解決できる印象がありますが、表示されないか、もっとコーヒーが必要です。
任意の提案をいただければ幸いです!