Можно без тригонометрии воспользоваться трансформациями canvas.
Двигать точку отсчёта
ctx.translate(x, y)
и поворачивать на угол
ctx.rotate(a)
.
Набросал пример рисования ломаной штуковины, состоящей из прямых сегментов заданной длины и каждая крутится со своей скоростью:
p.s. Где-то встречалась тема, что концом такой конструкции можно нарисовать абсолютно любую фигуру. Хоть портрет в линиях, хоть подпись. Чем больше колен, тем точнее. Если помните такое — киньте ссылку, пожалуйста.
upd. Нашёл! Видео про
комплексный ряд Фурье. Посмотрите, вдохновляет.