Vector3f还是Vector3d?

时间:2013-07-19 22:01:31

标签: java vector simulation physics

我有一个系统目前使用Vector3d进行粒子物理模拟器,但我一直在考虑Vector3f。哪个更常用?每个的优点/缺点是什么?另外,我在哪里可以下载Vector3d?

2 个答案:

答案 0 :(得分:3)

Vector3f使用float值来存储数字,Vector3d使用double。如果您需要非常高的准确度,请使用Vector3d。在大多数情况下,您不需要高精度,因此请使用Vector3f来节省存储空间。

答案 1 :(得分:1)

对于粒子物理模拟器,我强烈考虑使用BigDecimal来避免使用双精度和浮点数(分别使用Vector3f和Vector3d)弄乱计算时的浮点舍入误差。

当然,如果模拟需要是实时的,那么你将不得不考虑使用BigDecimal vs double vs float的时间和空间复杂性含义,但是如果要离线运行,BigDecimal是分数的精确表示这种应用是一个巨大的胜利。