Связь Янсена для движения робота в C++ ImGui

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

Существует несколько замечательных веб-сайтов, где вы можете вдохновиться дизайном и использованием. Некоторые из них здесь (сеть Тео Янсена) и здесь.

Основная цель следующей статьи — смоделировать движение рычага Янсена в C++.
Знакомство с C++ ImGui и информацию о том, как компилировать и собирать программы, вы найдете в одной из моих предыдущих статей.

Исходный код находится на моем GitHub.

Модель связи Янсена

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

Математические соотношения, которые я использовал в программе на C++, можно представить следующим образом:

где,

где,

Окончательно,

где,

Здесь я нанес точку G. В кинетических скульптурах Янсена это точка, имеющая контакт с землей. Комбинация нескольких одинаковых ног обеспечивает прямолинейное движение твердого тела. Движение точки G переходит во вращательное движение точки A.

Я также смоделировал движение в C++ ImGui. Вот результат.

Спасибо за чтение.