Математика может быть очень красивой. Ниже — реализация на JavaScript математической розы (кривая-родонея — это синусоида, построенная в полярных координатах) вместе с розой Маурера (она состоит из отрезков, соединяющих некоторые точки на кривой розы). Формулы довольно простые, их можно найти на страницах Википедии: Математическая роза и Роза Маурера.

Удобная отправная точка для экспериментов с розой — следующая таблица:

Математические кривые «роза», или «родонея», заданные уравнением в полярных координатах r=cos(θ*n/d). На этой таблице значения параметра n меняются от 1 до 7, а d — от 1 до 9.

Таблица розовых кривых

Сама роза красная, а часть Маурера — синяя. Роза Маурера для розы r = sin(nθ) состоит из 360 отрезков, последовательно соединяющих упомянутые выше 361 точку. Таким образом, роза Маурера — это ломаная кривая с вершинами на розе. Параметр «maurer» задаёт угол между началом обхода (первый отрезок) и следующим шагом (следующий отрезок). Первый отрезок начинается в координатах (0,0), там же заканчивается и последний.

С розой и её частью Маурера можно проводить интересные эксперименты.

Можно попробовать следующие значения: [n: 0.01, d: 8.16, maurer: 21], [n: 2, d: 1, maurer: 71], [n: 2, d: 5, maurer: 56], [n: 7, d: 1, maurer: 29], [n: 5, d: 2, maurer: 66], и так далее

NB! Новая, улучшенная версия

Возможности практически безграничны. Исходный код — на моём GitHub.

С Днём святого Валентина!


Select n: Select d: Select maurer:

Show rose Show Maurer lines

Select n: Select d: Select maurer: