[ODE] Length calculation
Jon Watte (ODE)
hplus-ode at mindcontrol.org
Thu Oct 11 19:30:13 MST 2007
Oleh Derevenko wrote:
> Why? Multiplications and divisions do not introduce substantial error. At
> the same time, length calculation, as seen from dNormalize3, is much more
> precise after you divide by largest vector component.
Do the analysis: it doesn't help. It may hurt. With the normal
formulation, you do math on the basic quantities. With the "normalized"
components, multiplied by the largest value, for very long vectors,
you're getting small-by-large multiplication (not any more precise), and
for very short vectors you're getting division-by-small-value (not any
The reason it's helpful for normalizing vectors is that you are trading
direction precision for precision in hitting length 1.0 as exactly as
possible when pre-dividing by the longest component. When calculating
the length, you don't want to do that.
Btw: Repeated multiplication or division may introduce a last-bit error
More information about the ODE