我正在尝试创建一个显示两个向量之间角度的软件,当它等于(1,1,2)时它不起作用,因此这个向量的模数是sqrtf(6),它正在转向2.449490,它应该是2.44948974278318。
有没有办法提高此操作的精确度?
在我的软件的后续步骤中,我进行了此操作:
float angle = acos(dot/(modulus1*modulus2));
如果模数1 ==模数2,那么模数1 *模数2 =点,但它没有发生某些值。
我希望我能说清楚。
提前致谢, 格鲁伯
答案 0 :(得分:4)
如果您想要更高的精确度,可以使用double
。但请注意,对浮点数的==
操作永远不会像使用整数类型那样工作。使用epsilon调整微小差异。