Механические часы

Этот код рисует механические часы с открытым механизмом.

Основные функции рисования:

drawEllipse - рисует эллипс

drawBezier - рисует квадратичные кривые Безье с адаптивным количеством сегментов

drawEpicycloid/drawHypocycloid - рисуют эпициклоиды и гипоциклоиды для создания шестеренок

Алгоритм рисования часов:

  • Рисуется основной корпус с помощью кривых Безье
  • Добавляются металлические элементы с градиентами
  • Рисуются ремешки с текстурой кожи
  • Создаются шестеренки через эпи-/гипоциклоиды
  • Добавляются механические детали и винты
  • Рисуются стрелки с эффектами тени