Все математические функции в JavaScript используют радианы вместо градусов. И все же они либо неравны, либо я далеко не в порядке.
Перевод из градусов в радианы:
var rad = angle * Math.PI / 180
Угол 90 градусов равен 1,57079633 радианам.
Косинус угла 90 градусов равен 0.
Косинус 1,57079633 радиана равно -3,20510345 × 10-9.
Обратите внимание, что в Javascript все делается за один шаг, чтобы избежать ошибок округления:
var cos = Math.cos(angle * Math.PI / 180);
Я, очевидно, упускаю здесь что-то очевидное, но, черт возьми, это портит код.