m1是用来测试的Matrix4矩阵,m2是m1的逆矩阵,MM是m1*m2的结果,理论上来说,MM应该是一个单位矩阵,但是在Cesium上的计算结果是有偏差的。
据跟Cesium论坛上的人咨询,据说是因为 IEEE 754 format (Double-precision floating-point format)该问题导致的,是一种精度和速度之间的妥协。
想要理解的话可以js测试如下代码:
1) Math.cos(0.0000001)
2) Math.cos(0.00000001)
m1是用来测试的Matrix4矩阵,m2是m1的逆矩阵,MM是m1*m2的结果,理论上来说,MM应该是一个单位矩阵,但是在Cesium上的计算结果是有偏差的。
据跟Cesium论坛上的人咨询,据说是因为 IEEE 754 format (Double-precision floating-point format)该问题导致的,是一种精度和速度之间的妥协。
想要理解的话可以js测试如下代码:
1) Math.cos(0.0000001)
2) Math.cos(0.00000001)