Я нашел веб-сайт, который объясняет обратную кинематику в 2D:
Starting from the joint nearest the
end point:
1. Calculate a force vector from the end of the bone to the target.
2. Calculate the dot product of the force vector and the Right angle
vector.
3. Multiply it by a small value, like 0.01.
4. Add it to the angle of the joint.
http://freespace.virgin.net/hugo.elias/models/m_ik.htm
Таким образом, способ, которым кости разработаны в моем приложении, с точки зрения сустава и угла. Каждая «кость» - это сустав, угол и длина. Конечная точка кости - это единичный вектор ее начальной точки и угла, умноженный на ее длину.
Так что я думаю, что для шага 1 я просто генерирую единичный вектор, направление которого указывает на цель, и умножаю его на расстояние между конечной точкой и целевой точкой.
Шаг 2, где я не уверен. Я знаю, как получить точечное произведение, но я не уверен, как получить этот вектор под прямым углом, о котором они говорят.
Спасибо