我有一个系统目前使用Vector3d进行粒子物理模拟器,但我一直在考虑Vector3f。哪个更常用?每个的优点/缺点是什么?另外,我在哪里可以下载Vector3d?
答案 0 :(得分:3)
Vector3f
使用float
值来存储数字,Vector3d
使用double
。如果您需要非常高的准确度,请使用Vector3d
。在大多数情况下,您不需要高精度,因此请使用Vector3f
来节省存储空间。
答案 1 :(得分:1)
对于粒子物理模拟器,我强烈考虑使用BigDecimal来避免使用双精度和浮点数(分别使用Vector3f和Vector3d)弄乱计算时的浮点舍入误差。
当然,如果模拟需要是实时的,那么你将不得不考虑使用BigDecimal vs double vs float的时间和空间复杂性含义,但是如果要离线运行,BigDecimal是分数的精确表示这种应用是一个巨大的胜利。