Моделирование кардиоиды в C++ ImGui

Кародоид — геометрическая фигура, начерченная на поверхности катящимся кругом по другому кругу того же радиуса. Пожалуйста, рассмотрите процесс генерации на приведенном ниже моделировании,

В следующей статье описывается процесс генерации кардиоиды, а затем процесс создания кардиоиды изображается в виде огибающей пучка линий.

Введение в C++ ImGui и информацию о компиляции и сборке программ вы найдете в одной из моих предыдущих статей.

Исходный код всех представленных симуляций вы найдете на моем GitHub.

Математическая модель и моделирование

Параметрическое представление кардиоиды может быть выражено следующим набором уравнений:

где а - радиус окружности.

Вышеупомянутая стимуляция наглядно объясняет процесс создания.

Помимо того, что кардиоиду можно нарисовать, накатывая круг на другой круг (как показано выше), существует еще один подход к созданию этой красивой формы. Один из них можно объяснить следующим образом.

Цирцея должна быть определена по определенному количеству очков. На рисунке ниже показан круг, разделенный на 10 точек. Длина дуги между ними равна. Теперь нам нужно провести линии между точками в зависимости от некоторого коэффициента (здесь я применил коэффициент равный 2). Множитель равен 2, что означает, что мы должны соединить (прямой) следующие точки (0, 0), (1,2), (2, 4) , (3, 6), (4, 8) и т. д. Если коэффициент равен 3, поэтому мы соединяем следующим образом (0, 0), (1,3) (2, 6) , (3, 9), (4, 9+3) и т. д. Другая точка соединительной линии, как вы можно видеть, что всегда равно количеству начальных точек, умноженных на фактор.

Теперь происходит волшебство. Если мы увеличим количество точек до 200 (например) и сохраним тот же коэффициент равным, то мы можем повысить кардиоидную форму. См. ниже.

Если коэффициент, который мы обсуждали, увеличить до 3, то мы получим еще одну интересную форму, называемую нефроид.

Аналогично предыдущему, установив коэффициент на 7, мы можем нарисовать еще одну интересную фигуру.

Экстраординарный эффект может быть достигнут в процессе моделирования, когда во время моделирования мы меняем коэффициент. Наслаждайтесь симуляцией.

Чем вам за чтение.