|
|
|
| Здравствуйте!
Как будет выглядеть мировая матрица при одновременном повороте на угол a вокруг оси X и
повороте на угол b вокруг Y ? | |
|
|
|
|
|
|
|
для: gride
(28.05.2008 в 14:55)
| | Судя по справке Direct3D 9 и небольшому личному опыту получится следующее:
// A, B - углы поворота по X и Y соответственно
cos(B) 0.0 -sin(B) 0.0
0.0 cos(A) sin(A) 0.0
sin(B) -sin(A) cos(A)*cos(B) 0.0
0.0 0.0 0.0 1.0
|
Добавлено
А вообще лучше пользуйтесь
D3DXMATRIX * D3DXMatrixRotationYawPitchRoll(
D3DXMATRIX * pOut,
FLOAT Yaw,
FLOAT Pitch,
FLOAT Roll
);
|
В ней-то точно все правильно :) | |
|
|
|
|
|
|
|
для: Фитч
(28.05.2008 в 17:14)
| | А чё за параметры у D3DXMatrixRotationYawPitchRoll ? | |
|
|
|
|
|
|
|
для: gride
(28.05.2008 в 17:22)
| | Процитирую DirectX Reference (раздел DirectX Graphics/Direct3D 9/Reference/D3DXReference/Functions/Math):
Parameters
pOut
[in, out] Pointer to the D3DXMATRIX structure that is the result of the operation.
Yaw
[in] Yaw around the y-axis, in radians.
Pitch
[in] Pitch around the x-axis, in radians.
Roll
[in] Roll around the z-axis, in radians.
Return Values
Pointer to a D3DXMATRIX structure with the specified yaw, pitch, and roll.
|
Вокруг осей X (Pitch) и Y (Yaw) вращение идет по часовой стрелке, вокруг оси Z (Roll) - против. Система координат - правосторонняя (ось Z направлена "к нам", подробности в DirectX SDK Help).
Вообще рекомендую почитать этот раздел справки, там достаточно хорошо описаны основные операции с матрицами. | |
|
|
|