Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

Как найти локальную матрицу, если есть две глобальные?   Найти похожие ветки 

 
TDummyCube   (2006-05-06 04:47) [0]

К DummyCube1 прицеплен DummyCube2.
Есть глобальные матрицы обоих. Как ВЫЧИСЛИТЬ локальную матрицу DummyCube2 по этоим данным? Какие там над матрицами надо произвести вычисления?

Речь идёт о GLScene, если что.


 
Cash ©   (2006-05-06 06:47) [1]

Так, если к DC1 прилеплен DC2, то для DC2 матрица DC1 является
глобальной, а своя - локальной! Да что тебе всетаки надо найти?
Если глобальную для DC2, то надо сделать такое (вроде):

DC2MatrG := DC1MatrG * DC2MatrL;
(взять глобальную матрицу хозяина и помножить ее на свою локальную)


 
TDummyCube   (2006-05-06 07:51) [2]

Есть DummyCube1.GlobalMatrix и DummyCube1.LocalMatrix.

Глобальная - значит в глобальной системе координат. А локальная - относительно предка.


 
Cash ©   (2006-05-06 14:25) [3]

А... то есть тебе надо исходя из двух глобальных получить местное
преобразование, is"n it?

ТОгда идем наеборот! :))

Если DC2MatrG := DC1MatrG * DC2MatrL;
то: (ох, забыл я линейную алгебру, поправте меня ктоньть :) )
DC2MatrL == DC2MatrG * Transpose(DC1MatrG);


 
TDummyCube   (2006-05-07 01:47) [4]

А что представляет из себя функция Transpose, и где её взять?


 
Cash ©   (2006-05-07 07:17) [5]

Транспонирование матриц.
Там же вмест деления применяется умножение на транспонированную
(обратную) матрицу. Я только не помню какую именно надо транспонировать!
Поиграй с этим выражением и получиш то что надо.



Страницы: 1 вся ветка

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
2-1174163176
Игорек
2007-03-17 23:26
2007.04.08
Дескриптор


2-1174196264
vegarulez
2007-03-18 08:37
2007.04.08
Вопрос по поводу селекта к БД.


1-1171121236
Observer
2007-02-10 18:27
2007.04.08
Asm and Delphi


15-1173686804
Vlad Oshin
2007-03-12 11:06
2007.04.08
Хорошо, очередная рац.идея :) Шляпа.


9-1146952603
Медвед
2006-05-07 01:56
2007.04.08
Чем отличаются различные версии OpenGL?