Можно ли как-то оптимизировать этот javascript код?
Цикл for (let i = 0, len = points.length; i < len; i++) будет примерно на порядок быстрее, чем Array#forEach — но тут зависит от количества элементов в массиве, если их десяток — то пофиг. Еще проверьте, у вас итератор выполняется в специфическом контексте, но в теле функции это нигде не используется.
В приведенном коде нечего оптимизировать, это обычная арифметика. Подозреваю, что тормоза у вас в другом месте — там где это выводится на экран. Если это дело двигает дивы, то поищите техники для уменьшения reflow и repaint. Если это какие-то спрайты на канвасе — возможно, стоит рендерить в WebGL (возьмите pixi.js).
Ну и да, проверять, проверять и еще раз проверять профайлером. Вдумчиво.
Эффективно - не думаю.