Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Оптимизация.


@!!ex ©   (2007-01-11 00:03:00) 

Есть кости:

1 - парент 2,
2 - парент 3

Положение кости задается перемещением и вращением(углы Эйлера) относительно парента.
нужно убрать кость 2, соответственно 3 кость уже будет относительно 1.
Самое логичное - построить матрицу преобразования второй кости и умножить ее на матрицу преобразования 3 кости, потом оттуда вытащить перемещение и вращение.
Но!
Углы Эйлера в части случаев однозначно не определяются!
НЕ знаю что делать... Есть идеи?


@!!ex   (2007-01-14 23:18:00) [1]


> ors_archangel ©   (14.01.07 21:38) [8]

Имеем неоднозначность => не знаем чему равны углы.


ors_archangel   (2007-01-14 21:38:00) [2]

Что плохого в неоднозначности в случае с анализом матрицы?


@!!ex   (2007-01-14 18:29:00) [3]


> 1. <quote> потом оттуда вытащить перемещение и вращение.
>  </quote>
> имхо, это невозможно.. да и не нужно (glMultMatrix должна
> помочь)

Не нужно? :)) Серьезно чтоли? А в чем тогда смысл топика? :))
Поможет строчка на столбик.....
Я вообще не отображение пишу.....
Мне нужно исключить из файлика лишние кости......
А в файлике все хрнаится именно в виде: вращение/перемещение


> 2. <quote>Углы Эйлера в части случаев однозначно не определяются!
> </quote>
> возможно, помогут кватернионы (Кватернионы и 3-х мерные
> повороты. http://karataev.nm.ru/quat3rot/file3.htmlстатья
> могла переместиться..)

Каким образом тут могут помочь кватернионы?


Леон   (2007-01-14 13:24:00) [4]

1. <quote> потом оттуда вытащить перемещение и вращение. </quote>
имхо, это невозможно.. да и не нужно (glMultMatrix должна помочь)
2. <quote>Углы Эйлера в части случаев однозначно не определяются!</quote>
возможно, помогут кватернионы (Кватернионы и 3-х мерные повороты. http://karataev.nm.ru/quat3rot/file3.htmlстатья могла переместиться..)


@!!ex   (2007-01-14 01:10:00) [5]

изначально ее положение - вращение(0,0,0) и перемещение(0,0,0).
Для каждой кости задается локальная матрица:
Устанавливаем в матрицу углы и перемещение.
Потом считаем глобальную матрицу, относительно Т0 уже.
Глоабальная матрица расчитывается так:
если нет парента, то ее глобальная матрице равна локальной.
Если парент есть, то
1) Глобальной матрице чилда присваевается гл. матрица парента.
2) Глобальная матрица чилда умножается на ее же локальную матрицу.

Вообщем расчет полностью аналогичен SMD, за исключением некоторых незначительных мелочей.


ors_archangel   (2007-01-13 17:12:00) [6]

Если проблема ещё актуальна, то можешь уточнить, как child-кость поворачивается относительно parent-кости по углам Эйлера: каково её изначальное положение - сонаправлено оси что ли? Если, допустим, сонаправлено, то по оси X ей вращаться бесполезно? Чем положение кости вообще в конечном итоге задаётся, я правильно понял, центр + поворот?


@!!ex   (2007-01-11 09:33:00) [7]


> [0] А через формулы никак не выразить?

Можно. Только бы знать еще эти формулы. :))


> [1] А jpg никак не сделать?

Каюсь, ступил.


ors_archangel   (2007-01-11 02:16:00) [8]

[0] А через формулы никак не выразить?
[1] А jpg никак не сделать?


@!!ex   (2007-01-11 00:08:00) [9]

вот пикча
http://afera-net.narod.ru/joints.bmp


Наверх

Титульная страница Поиск, карта сайта Написать письмо