Чтобы рисовать отдельный ромбик, поможет мысленно дорисовать диагонали ромба: такой растянутый плюс. Центр плюса – центр ромбика.
Пусть x
и y
это «радиусы» ромба. Есть координаты центра (cx, cy)
, или, удобнее, (0, 0)
– понятны координаты вершин ромба: (-x, 0), (0, -y), (x, 0), (0, y)
(по часовой стрелке).
Соседний ромб справа: (0 + 2x, 0)
(центр).
Ромб вправо вниз: (0 + x, 0 + y)
.
При рисовании на canvas удобно запоминать состояние, чтобы потом транслировать координаты, делая центром (0, 0) центр очередного ромбика. Рисовать ромбик, и затем восстанавливать состояние координат канвы из сохранённого.