我正在尝试创建一个软件来显示两个向量之间的角度,当它们等于(1,1,2)时它就不工作了,因此这个向量的模数是sqrtf(6),它的取值是2.449490,应该是2.44948974278318。
有没有办法提高这个操作的精度?
在我的软件的下一步中,我进行了以下操作:
float angle = acos(dot/(modulus1*modulus2));
如果模数为2,那么模1*模2=点,但在某些值下不会发生这种情况。,modulus1,==,==。
我希望我说得很清楚了。
提前谢谢你,格鲁伯
发布于 2012-06-10 11:02:00
如果您想要更高的精度,可以使用double
。但是,请注意,浮点数上的==
操作永远不会像对整数类型那样工作。使用epsilon调整细微的差异。
https://stackoverflow.com/questions/10966071
复制相似问题