*A common issue in modelling, visualisation, simulation, games and other applications is that the resolution of floating point numbers gets worse as the numbers become larger, causing scaling and accuracy problems. Technically, this is because the resolution is multiplied by 2 raised to the power of the floating point exponent, becoming more course with increasing exponent size. This aspect, though important, is but one part of a much larger set of related simulation fidelity concerns.*

My PhD was
part of my efforts to raise the world of modelling,
visualisation and
simulation to a new level of fidelity: improving the quality and
fidelity of: motion, interaction and rendering; improving scalability,
accuracy
and
the repeatability of physics. These benefits do not necessarily
have a net performance cost, as the approach can improve performance in
some areas, a rare win-win
situation. For brevity, hereafter I will collectively refer to
modelling,
visualisation and
simulation as simulation.

The literature review revealed a common assumption that insufficient precision is the sole cause of jitter and related problems. Consequently, solutions were designed to address these problems by using higher precision variables. This approach yields little benefit as because the final stage hardware remains low precision.

An important part of the problem is a poorly understood or often overlooked property of simulation space: its nonuniform resolution.

Figure 1: The sfumato painting
technique, used by Leonardo da Vinci on the Mona Lisa,
increases in `smokiness' outwards from the center to give an appearance
of curvature. Similarly,
simulation exhibits a degradation in
the quality of rendering as the viewpoint moves
outwards from the origin. This is because the floating point
coordinates of simulation space have a decreasing resolution of
representable
values with increasing distance from the origin, as shown in Figure 2
below. |

Figure 2: The nonuniform resolution of floating point numbers. The decreasing resolution leads to a corresponding increase in error, degrading quality outwards from the origin. The resolution induced error, which I call spatial error, can be a more significant cause of rendering artefacts than limited precision in large scale systems. In addition to affecting rendering, spatial error causes jittery motion and interaction and can introduce unacceptable error into physics and other calculations. |

Relative spatial error in positional calculations, such as distance computation, can be incorporated into normal relative error estimation of algebraic equations using the usual rules of relative error calculation, as described above. The maximum relative error for a simulation propagates exponentially with the number of operations performed. This exponential propagation is must also be taken into account in any estimation of maximum simulation error.

"The
engines don't move the ship at
all!

The ship stays where it is and the

engines move the universe around it!"

Cubert Farnsworth, in A Clone of my Own, Futurama, Season 2, Episode 5

The ship stays where it is and the

engines move the universe around it!"

Cubert Farnsworth, in A Clone of my Own, Futurama, Season 2, Episode 5

Since decreasing resolution with distance from the origin is a major cause of positional error and the fidelity of simulation space is highest around the origin, the solution begins with keeping the observation at the origin and moving objects in the other direction instead. This is called a continuous floating origin because the origin "floats" with the user as the user "navigates" a continuous space. One may say with this approach navigation does not move one through the virtual universe in much the same way the Planet Express engines do not move one through the Furturama universe. Yet in both cases one can navigate to all parts of the respective universes!

The floating origin method, and to a lesser extent, cruder approaches such as shifting the origin piecewise whenever a viewpoint is selected, lead to radical improvements in fidelity, rendering quality and scalability. This link shows a video of navigation from space to face, illustrating how the approach can greatly enhance scalability. The video is of a full scale planet earth modelled in one continuous single precision coordinate space. Without shifting the origin it would not be possible to zoom from space to face level fidelity.

As Cubert Farnsworth also found, one has to think about things differently to fully comprehend the solution: that is, to design a continuous high fidelity system think about moving objects around you, not moving through the environment, about resolution not precision and about algorithms that exploit efficiencies resulting form keeping the observer at the center of spacetime. The floating origin is the core technique from which suite of origin-centric techniques, process guidelines and a new simulation architecture are developed, all of which provide improvements to the fidelity and even performance of simulation.

"Men
should not travel, Brutha.

At the center there is truth.

As you travel, so error creeps in."

Small Gods by Terry Pratchett

At the center there is truth.

As you travel, so error creeps in."

Small Gods by Terry Pratchett

For simulation applications, computers are incapable of providing the exact truth, but an origin centric system will provide greater truth due to its greater accuracy. We can rephrase the advice to Brutha by saying, for computer simulation: there is greater truth at the center.

The thesis presents techniques, analytical tools, architecture and process guidelines that holistically address the problem domain with a new origin-centric paradigm for positional computing. Along with the required change in thinking about the problem and solution, his new positional computing paradigm yields many benefits in the form of a continuous rendering space, increased accuracy, smoother motion, higher fidelity rendering and interaction, greater scalability and, in some cases, better performance.

Other places about this subject are:

Floating Origin Unify Community

publications arising and the bibliography mirror.