ここに私のコードの一部があります:
double tmp = OP.innerProduct(OQ);
double tmp2 = -1;
tmp
andの値は次のtmp2
とおりです: (バイナリ)
tmp = 0b1011111111110000000000000000000000000000000000000000000000000001
tmp2= 0b1011111111110000000000000000000000000000000000000000000000000000
を使用した場合はacos(tmp)
、 が返されnan
ます。
値は必要ありませんnan
。小さなエラーを無視してtmp
[-1,1] の範囲に収めたいと考えています。
その方法は?
編集:
球座標で与えられた2つの点があります。(たとえば、 (r,45,45) (r,225,-45) )
次に、それらをデカルト座標に変更する必要があります。(ここで小さなエラーが発生します!)
次に、2 点間の角度を計算します。
解析解はコンピュータ解とは異なります(誤差が小さいため)。2つのソリューションを同じにしたいと思います。