Вращающиеся ромбы

Каждый ромб определен в массиве squares. Построение ромбов начинается с точки (-40;-40) до нижнего правого угла.
Вращение производится относительно центра каждого ромба.
Перемещая половину ромбов в разные стороны, получается данная анимация.
На скорость влияет переменная speed. Чем она меньше, тем быстрее происходит анимация