I convert degrees to radians (degrees * Math.PI/180) but why does the following:
Math.cos(90 * Math.PI/180)
yield 6.123031769111... and not zero?
I'm trying to perform 2D rotations uses matrixes and the results are completely out of whack.
The output of
Math.cos(90 * Math.PI/180)
is
6.123031769111886e-17
Notice the e-17
at the end, which means that this number is 6.123 x 10-17. This is a number so vanishingly close to 0 that it's effectively 0. The reason that it's not identically 0 is due to rounding errors in the IEEE-754 double format which prevents you from getting an exact representation of π / 2 and causes minute rounding errors in the calculation of the cosine.
By the way - I was pretty surprised as well when the result came back starting with a 6! It's only after I looked at the very end that things started to make sense.
Hope this helps!
6.123233995736766e-17
is scientific notation for a very small number, close to zero. It is not exactly zero because of rounding errors and so forth.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With