Главная страница
    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.006 c
3-72631
Alex-kosmonavt
2003-12-26 13:43
2004.01.23
Маски


7-72957
СержК
2003-11-06 11:51
2004.01.23
Как узнать пользователя


1-72728
Unknown
2004-01-11 20:56
2004.01.23
Messages


7-72958
buba
2003-11-08 01:35
2004.01.23
читать из ps/2 порта?


1-72754
Митяй2
2004-01-13 18:37
2004.01.23
Перемещение Label а в RunTime е





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский