次のシステムがあるとします。

どこ:
Ar: xz 平面上の半径を持つ円のエッジ上の任意の場所に存在する点。θ: 正の x 軸と、原点から点へのベクトルの間の角度A。これは、-PI/2 から PI/2 の範囲である必要があります。B1: 円と高さ の正の x 軸の交点h1。B2: の高さで円と正の z 軸の交点にある点h2。d1B1:との間の距離A。d2B2:との間の距離A。
仮定:
h1、h2、およびrは既知の定数です。d1とd2は既知の変数です。
どうすれば見つけられますθか?
arctan2これは最終的に、 、sine、およびのかなり高速な関数を持つ組み込みシステムの C で実装されますcosine。そのため、パフォーマンスは間違いなく優先事項であり、推定値が小数点以下 3 桁まで正しければ使用できます (これは私の三角関数の精度です)。
ただし、数学的なアルゴリズムが与えられたとしても、特定の実装を解決できると確信しています。
それだけの価値があるので、私は次のようになりました:
(d1^2 - h1^2) / r = (sin(θ))^2 + (cos(θ))^2
(d2^2 - h2^2) / r = (sin(PI/4 - θ))^2 + (cos(PI/4 - θ))^2
数学的に、これは私のリーグをはるかに超えていることに気付く前に。