Все таки ошибки (более точно сказать - погрешности) существуют. Правда при больших углах поворота они превращаются в полную ерунду. Именно в функции Inverse() это и проявляется. Но я обошел эту преграду. Спасибо за отклик
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Гость
При написании очередного плагина к максу (макс SDK) обнаружилась такая неприятная ошибочка:
Если имеются две матрицы преобразования пространства ТМ1 и ТМ2 и мы хотим получить их разность (состояние ТМ1 относительно ТМ2) мы делаем следующее:
ТМ = ТМ1 * Inverse(ТМ2);
Однако результ получается ошибочным. Т.е. перенос ТМ (translation = ТМ->GetTrans()) не равен разности переносов этих двух матриц
translation != translation1 - translation2....
В чем беда? Может кто разобрался с этим?
Гость
in MAXScript run
m1 = matrix3 [1,0,0] [0,1,0] [0,0,1] [-100,-100,-100]
m2 = matrix3 [1,0,0] [0,1,0] [0,0,1] [100,100,100]
a=m1.translation - m2.translation
m_d = m1*(inverse(m2))
b=m_d.translation
a==b
returns true
проверь может где-то запутался в local-world, or parent-child relations.
Гость
Гость
Гость
ICQ#: 75190013
Гость