这是我的代码的一部分:
double tmp = OP.innerProduct(OQ);
double tmp2 = -1;
tmp
和的值tmp2
是:(二进制)
tmp = 0b1011111111110000000000000000000000000000000000000000000000000001
tmp2= 0b1011111111110000000000000000000000000000000000000000000000000000
如果我用过acos(tmp)
,它会回来nan
的。
我不想要这个nan
值,我想忽略小错误以保持tmp
在 [-1,1] 范围内。
怎么做?
编辑:
我在球坐标中给出了两个点。(例如, (r,45,45) (r,225,-45) )
然后我需要将它们更改为笛卡尔坐标。(这里出现一个小错误!)
然后我想计算两点之间的角度。
解析解不同于计算机解(因为误差很小)。我想让这两个解决方案相同。