ezod / adolphus

Multi-camera system coverage modeling suite.
http://github.com/ezod/adolphus
Other
7 stars 5 forks source link

Apparent numerical instability in YAML quaternion definitions #23

Closed ezod closed 12 years ago

ezod commented 12 years ago

Quaternion rotations defined in YAML with an a value approaching 1 seem to introduce serious discrepancies in both geometric and visualization contexts.

The following example yields such problems. Try applying this to an object with occluding triangles, then observe the locations of the object and its triangles (both wrong), and the different but equally disturbing results of coverage or other geometric operations:

R:              [0.9999, [0.16, 0.0532, 0.3115]]
Rformat:        'quaternion'

However, the equivalent (obtained using the pose command, so possibly also wrong) Euler definition doesn't appear to suffer from these issues:

R:              [-0.30, -0.21, -0.65]
Rformat:        'euler-zyx-rad'

This could be a serious problem in some cases. We should be able to rely on the quaternion format to avoid any such problems as there should be no singularities.