0

I'm experimenting some issues when work with real worlds. The center of my camera is 280000, 45787254 (for example). The extension of my world is about 500 x 500 (not too big)

I'm using data based in metric units (meters).

I have created a tile map structure build with simple planes. I see little gaps between the plane borders and this planes are built to be contiguous (that is xmin of the adjacent plane is equal to xmax of previous).

In the past I have issues related with ray cast. Matrix projection with this big units have low precision. Change near value to number great than 10 can be the fix. However, using this value means bad visualization (you can't place the cam much near of the scene, it disappears).

I talked with the guy who develops potree and he said me is had to move the lidar worlds to 0,0 to work properly.

So... the final solution is to work in 0,0 worlds, isn't it ? Or is there any trick we can do at matrix calculations?

I'd like to know three.js developers.

Brendan Annable
  • 2,637
  • 24
  • 37
civiltomain
  • 1,136
  • 1
  • 9
  • 27

1 Answers1

1

Floating point math is best at ranges close to zero, you just end up compounding errors as you move far away. You can always do as much math as possible near the origin and then translate the result to wherever you need, that will help with some of it, but if you can, work in local coordinates.

Potree probably gets odd ripple-looking aliasing effects when too far from the origin, no?

bjorke
  • 3,295
  • 1
  • 16
  • 20
  • Thank you. Do you mind to view this post and give me ideas ? http://stackoverflow.com/questions/35030997/three-js-why-renderer-with-viewport-scissor-and-i-have-a-complete-black-canvas – civiltomain Jan 27 '16 at 12:50