Прямая кинематика
Прямая кинематика (прямая кинематическая анимация, англ. forward kinematics, FK) — процесс определения параметров связанных подвижных объектов (например, кинематическая пара или кинематическая цепь) для достижения необходимой позиции, ориентации и расположения этих объектов. Прямая кинематика является типом планирования движения[англ.]. Прямая кинематика активно используется в робототехнике, трёхмерной компьютерной анимации и в разработке компьютерных игр. Алгоритм прямой кинематики противоположен алгоритму инверсной кинематики.
Описание
[править | править код]Прямая кинематика применяются к моделям каких-либо персонажей или объектов, которые созданы с использованием скелетной анимации. Суть скелетной анимации состоит в том, что объект состоит из набора твёрдых сегментов (компонентов), соединённых сочленениями (англ. joint). При этом сегменты могут объединяться в кинематические пары, которые в свою очередь объединяются в кинематические цепи. Данные сегменты образуют иерархические цепочки, которые имеют «верхний» и «нижний» уровень. Сегменты (компоненты) верхних уровней называются компонентами-предками (или родительскими сегментами), а компоненты нижних — компонентами-потомками (или дочерними сегментами). Например, если рассмотреть руку человека, то плечевой сустав будет самым верхним уровнем, а кончик пальца — самым нижним, то есть компонентом-потомком к плечевому суставу. Локтевой сустав находится внутри цепочки, он будет иметь как родительские (плечо), так и дочерние (запястье, пальцы) сегменты.
Суть прямой кинематики состоит в том, что воздействие передаётся по иерархической цепочке сверху вниз, то есть дочерние сегменты движутся относительно родительских. Сначала положение и/или ориентацию меняет родительский сегмент. Это изменение влияет на положения и/или ориентацию всех остальных дочерних сегментов. Далее изменяется положение следующего сегмента в цепочке, при этом изменяется положение всех последующих дочерних к нему сегментов, а родительские сегменты остаются неподвижными.
Рассмотрим, например, прямую кинематику при движении руки человека. Допустим, человеку, рука которого опущена, необходимо этой рукой взять какой-либо предмет. В таком случае, в соответствии с алгоритмом прямой кинематики, сначала изменяется угол и позиция плечевого сустава. Это изменение меняет позицию всех дочерних элементов руки, которые состоят в иерархической цепочке. То есть, при повороте плечевого сустава все другие суставы руки, такие как локоть, запястье и пальцы, меняют своё положение. Далее поворачивается локтевой сустав, что приводит к изменению положения дочерних сегментов — запястья и пальцев, но не затрагивает родительский сегмент — плечо. Данная процедура проводится до тех пор, пока цель не будет достигнута или пока положение и/или ориентация всех сегментов иерархической цепочки не будет изменена.
Использование
[править | править код]Прямая кинематика вместе с инверсной кинематикой широко используется в робототехнике, трёхмерной компьютерной анимации и в разработке компьютерных игр. В играх при помощи прямой кинематики анимируются большинство персонажей. Также алгоритм прямой кинематики, наряду с алгоритмом инверсной, очень широко используется в редакторах трёхмерной графики, таких как 3ds Max и Maya.
Ссылки
[править | править код]Англоязычные источники
- Robot Forward Kinematics (англ.). learnaboutrobots.com. Дата обращения: 7 июня 2009. Архивировано 13 августа 2011 года.
- Variational Curve Skeletons (англ.). mecca.louisville.edu. Дата обращения: 7 июня 2009. Архивировано из оригинала 13 августа 2011 года.
- Level Set Graph (англ.). mecca.louisville.edu. Дата обращения: 7 июня 2009. Архивировано из оригинала 13 августа 2011 года.
Русскоязычные источники
- Светлана Шляхтина. 3D Studio MAX: первые шаги. Урок 21. Иерархия и прямая кинематика . журнал КомпьютерПресс. Дата обращения: 7 июня 2009.
- ГЛАВА 6. СКЕЛЕТ И ДЕФОРМАЦИЯ КАРКАСА ЧАСТЬ I Прямая кинематика . Уроки Flash. Дата обращения: 7 июня 2009.
- Глава 6. Анимация иерархии объектов Прямая кинематика (FK) . Teapot 3-dimension. Дата обращения: 7 июня 2009.
- Прямая кинематика роботов . roboty6.narod.ru. Дата обращения: 7 июня 2009.