
From:  dak 
Subject:  Re: modify coordrotate to get exact values for (sin PI) etc (issue 269530043 by address@hidden) 
Date:  Fri, 30 Oct 2015 13:46:18 +0000 
On 2015/10/30 13:20:35, benko.pal wrote:
sorry to chime in that late, but: am I right that the problem is that we get the rotation matrix cos a sin a sin a cos a inexact? and if so, how the inexactness is present? one of the
diagonals is
exactly +/1 while the other is not exactly 0? in that case I'd suggest (would have suggested) to perform a paranoid normalization of the (cos a, sin a) vector, which e.g. normalizes (1,
1e9) into
(1, 0).
cos x = 1  x^2/2 + ... So basically this "paranoid normalization" would suppress all low values for approximately x < sqrt (2 ulp) where "ulp" is the relative precision of our floats. So that looks like quite a noticeable cutoff relying on numerics. The advantage would be that the code is simpler, but once the code gets out of the clampeddown region, the precision would not be better. I really think we should move everything to degrees except for the final calculations. https://codereview.appspot.com/269530043/
[Prev in Thread]  Current Thread  [Next in Thread] 