Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Вниз

Обратное вращение матрицы   Найти похожие ветки 

 
MeF88   (2003-07-07 14:48) [0]

Допустим у меня есть quad(прямоугольник) с центром вращения в точке(x2,y2) расположенный в координате (qx,qy) и шириной и высотой(qw и qh). Я делаю нечто вроде:
x2=qx+qw/2
y2=qy+qh/2
D3DXMatrixRotationZ(matWorld1, Angle/255*D3DX_PI*2);
D3DXMatrixTranslation(matWorld2,x2,y2,0);
D3DXMatrixMultiply(matWorld1,matWorld1,matWorld2);
pd3dDevice.SetTransform(D3DTS_WORLD, matWorld1);
Далее вывожу два треугольника.
Причем левая верхняя вершина имеет координаты (-qw/2,-qh/2)
Правая верхняя: (qw/2,-qh/2)
Левая нижняя: (-qw/2,qh/2)
Правая нижняя: (qw/2,qh/2)
Допустим, что некоторая точка вращалась вместе с Quad и теперь имеет координаты (x,y). Как мне найти координаты этой точки до вращения, при условии, что её координаты до вращения не известны и вращение произошло.
Я уже 4 часа над этим парюсь, с применением и sin и cos, arcsin, arccose и вращение матрицы, и создание вектора, который трансформаруется матрицей, повернутой в противоположную сторону...


 
Axis_of_Evil   (2003-07-07 15:21) [1]

>Допустим, что некоторая точка вращалась вместе с Quad и теперь
>имеет координаты (x,y). Как мне найти координаты этой точки до
>вращения, при условии, что её координаты до вращения не
>известны и вращение произошло.

Первое, что пришло в голову:
A = матрица преобразований;
X1 = A*X0 // искаем X0
X0 = X1*A" // A" = обратная матрица

Когда писал - спешил => мог хъню написать // или не по теме


 
MeF88   (2003-07-07 17:20) [2]

Фенкс конечно, но как оказалось, я просто минусы и плюсы в некоторых формулах перепутал, после того как спросишь кого-нить о чем-то столько гениальных идей в голову приходит =)



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

Форум: "Игры";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.011 c
14-72895
race1
2004-01-03 08:38
2004.01.23
bat string


1-72779
Miwa
2004-01-13 09:49
2004.01.23
---|Ветка была без названия|---


1-72712
Yura
2004-01-09 15:41
2004.01.23
Web-сервис


8-72846
DeadMeat
2003-09-19 13:47
2004.01.23
GLScene и камера


1-72763
Марат
2004-01-13 08:56
2004.01.23
Закрытие проекта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский