Форум: "Игры";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];
ВнизОптимизация. Найти похожие ветки
← →
@!!ex © (2007-01-11 00:03) [0]Есть кости:
1 - парент 2,
2 - парент 3
Положение кости задается перемещением и вращением(углы Эйлера) относительно парента.
нужно убрать кость 2, соответственно 3 кость уже будет относительно 1.
Самое логичное - построить матрицу преобразования второй кости и умножить ее на матрицу преобразования 3 кости, потом оттуда вытащить перемещение и вращение.
Но!
Углы Эйлера в части случаев однозначно не определяются!
НЕ знаю что делать... Есть идеи?
← →
@!!ex © (2007-01-11 00:08) [1]вот пикча
http://afera-net.narod.ru/joints.bmp
← →
ors_archangel © (2007-01-11 02:16) [2][0] А через формулы никак не выразить?
[1] А jpg никак не сделать?
← →
@!!ex © (2007-01-11 09:33) [3]
> [0] А через формулы никак не выразить?
Можно. Только бы знать еще эти формулы. :))
> [1] А jpg никак не сделать?
Каюсь, ступил.
← →
ors_archangel © (2007-01-13 17:12) [4]Если проблема ещё актуальна, то можешь уточнить, как child-кость поворачивается относительно parent-кости по углам Эйлера: каково её изначальное положение - сонаправлено оси что ли? Если, допустим, сонаправлено, то по оси X ей вращаться бесполезно? Чем положение кости вообще в конечном итоге задаётся, я правильно понял, центр + поворот?
← →
@!!ex © (2007-01-14 01:10) [5]изначально ее положение - вращение(0,0,0) и перемещение(0,0,0).
Для каждой кости задается локальная матрица:
Устанавливаем в матрицу углы и перемещение.
Потом считаем глобальную матрицу, относительно Т0 уже.
Глоабальная матрица расчитывается так:
если нет парента, то ее глобальная матрице равна локальной.
Если парент есть, то
1) Глобальной матрице чилда присваевается гл. матрица парента.
2) Глобальная матрица чилда умножается на ее же локальную матрицу.
Вообщем расчет полностью аналогичен SMD, за исключением некоторых незначительных мелочей.
← →
Леон © (2007-01-14 13:24) [6]1. <quote> потом оттуда вытащить перемещение и вращение. </quote>
имхо, это невозможно.. да и не нужно (glMultMatrix должна помочь)
2. <quote>Углы Эйлера в части случаев однозначно не определяются!</quote>
возможно, помогут кватернионы (Кватернионы и 3-х мерные повороты. http://karataev.nm.ru/quat3rot/file3.html статья могла переместиться..)
← →
@!!ex © (2007-01-14 18:29) [7]
> 1. <quote> потом оттуда вытащить перемещение и вращение.
> </quote>
> имхо, это невозможно.. да и не нужно (glMultMatrix должна
> помочь)
Не нужно? :)) Серьезно чтоли? А в чем тогда смысл топика? :))
Поможет строчка на столбик.....
Я вообще не отображение пишу.....
Мне нужно исключить из файлика лишние кости......
А в файлике все хрнаится именно в виде: вращение/перемещение
> 2. <quote>Углы Эйлера в части случаев однозначно не определяются!
> </quote>
> возможно, помогут кватернионы (Кватернионы и 3-х мерные
> повороты. http://karataev.nm.ru/quat3rot/file3.html статья
> могла переместиться..)
Каким образом тут могут помочь кватернионы?
← →
ors_archangel © (2007-01-14 21:38) [8]Что плохого в неоднозначности в случае с анализом матрицы?
← →
@!!ex © (2007-01-14 23:18) [9]
> ors_archangel © (14.01.07 21:38) [8]
Имеем неоднозначность => не знаем чему равны углы.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c