2016-01-20 77 views
0

我在与现实世界一起工作时尝试了一些问题。 我的相机的中心是280000,45787254(例如)。 我的世界的延伸大约是500 x 500(不是太大)Three.js真实世界的矩阵精度

我正在使用基于公制单位(米)的数据。

我已经创建了一个简单平面的瓷砖贴图结构。 我看到平面边界之间的空隙很小,并且这个平面被建立为连续的(即相邻平面的xmin等于先前的xmax)。

在过去我有与射线相关的问题。 与这个大单位矩阵投影具有低精度。 将值附近的值更改为大于10的数字可以解决问题。然而,使用这个值意味着不好的可视化(你不能将凸轮放置在场景附近,它会消失)。

我和开发potree的人聊过,他说我必须将激光雷达世界移动到0,0才能正常工作。

所以...最终的解决方案是在0,0世界工作,不是吗? 或者我们可以在矩阵计算中做什么技巧?

我想了解three.js开发人员。

回答

0

浮点数学最好在接近零的范围内,当您移动很远时,您最终会出现复合错误。您始终可以在原点附近尽可能多地进行数学运算,然后将结果转化为任何您需要的数据,这对一些数据会有帮助,但是如果可以,则使用本地坐标进行工作。

Potree在距离原点太远时可能会出现奇怪的涟漪式锯齿效应,不是吗?

+0

谢谢。你介意看这篇文章并给我点子吗? http://stackoverflow.com/questions/35030997/three-js-why-renderer-with-viewport-scissor-and-i-have-a-complete-black-canvas – civiltomain