Ответ: Вращение осей координат
/////////////////////////////////////////
// Поворот
D3DXMATRIX result,pitchMatrix,yawMatrix,rollMatrix;
D3DXMatrixRotationAxis( &pitchMatrix, &D3DXVECTOR3( 1, 0, 0 ), pitchAngleRadians );
D3DXMatrixRotationAxis( &yawMatrix, &D3DXVECTOR3( 0, 1, 0 ), yawAngleRadians );
D3DXMatrixRotationAxis( &rollMatrix, &D3DXVECTOR3( 0, 0, 1 ), rollAngleRadians );
result = pitchMatrix * yawMatrix * rollMatrix;
D3DXVec3TransformCoord( &right, &D3DXVECTOR3( 1, 0, 0 ), &result );
D3DXVec3TransformCoord( &look, &D3DXVECTOR3( 0, 1, 0 ), &result );
D3DXVec3TransformCoord( &up, &D3DXVECTOR3( 0, 0, 1 ), &result );
/////////////////////////////////////////
/////////////////////////////////////////
// Перемещение в зависимости от направления
pos += right * xSpeed;
pos += up * ySpeed;
pos += look * zSpeed;
/////////////////////////////////////////
/////////////////////////////////////////
// Перемещение по осям
pos += xSpeed;
pos += ySpeed;
pos += zSpeed;
/////////////////////////////////////////
Здесь поворот идет камеры, а мне надо фигуры..... можешь весь исходник кинуть, если не трудно я уже запутался.....
|