У меня есть объект представляющий дерево Joint'ов. Сам joint как структура на псевдо языке:
Joint { float length; //длина от предыдущего джоинта(по x, y всегда равен 0) float angle; //угол относительно предыдушего джоинта //.... //далее родительский джоинт и массив детей }
Отрисовываю очень просто, простым glRoatate/glTranslate
Но возможно ли на основе этих скудных данных рассчитывать инверсивную кинематику? Смотрю теорему косинусов но не совсем понимаю как применить. Скиньте пожалуйста если можно ссылки.
Nawy
> Но возможно ли на основе этих скудных данных рассчитывать инверсивную
> кинематику? Смотрю теорему косинусов но не совсем понимаю как применить.
> Скиньте пожалуйста если можно ссылки.
Вкратце как-то так.
В целом, инверсная кинематика - есть задача оптимизации, т.е. минимизации расстояния от конца манипулятора до заданной точки.
Для двух джоинтов решается тривиальной.
Для трех и больше - в 2D-случае - можно вписывать многоугольник в окружность.
Можно на каждой итерации делать небольшое добавление к angle, так, чтобы каждый джоинт стремился к заданной точке.
Тема в архиве.