Войти
ПрограммированиеФорумГрафика

Инверсивная кинематика

#0
11:31, 7 апр 2014

У меня есть объект представляющий дерево Joint'ов. Сам joint как структура на псевдо языке:

Joint
{
         float length; //длина от предыдущего джоинта(по x, y всегда равен 0)
         float angle;  //угол относительно предыдушего джоинта
         //....
         //далее родительский джоинт и массив детей
}

Отрисовываю очень просто, простым glRoatate/glTranslate

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

#1
13:03, 7 апр 2014

Nawy
> Но возможно ли на основе этих скудных данных рассчитывать инверсивную
> кинематику? Смотрю теорему косинусов но не совсем понимаю как применить.
> Скиньте пожалуйста если можно ссылки.
Вкратце как-то так.

В целом, инверсная кинематика - есть задача оптимизации, т.е. минимизации расстояния от конца манипулятора до заданной точки.
Для двух джоинтов решается тривиальной.
Для трех и больше - в 2D-случае - можно вписывать многоугольник в окружность.

Можно на каждой итерации делать небольшое добавление к angle, так, чтобы каждый джоинт стремился к заданной точке.

ПрограммированиеФорумГрафика

Тема в архиве.