一、 yaw pitch roll 含义
yaw: 水平偏航转角 (绕Y轴旋转, Y轴向上)
pitch: 上下俯仰转角 (绕X轴 旋转, X轴向右)
roll: 旋转角(绕Z轴 旋转, Z轴向前)
Direct3D 左手坐标
二、旋转矩阵、视角矩阵、yaw-pitch-roll的关系
1. D3DXMatrixRotationYawPitchRoll 函数,
计算顺序不
是 yaw, pitch, roll . 而是 pitch, yaw。
注意: 第一个 旋转计算 完毕之后, 第二个旋转的参考轴仍然是全局坐标, 而不是自身参考轴。
D3DXMATRIXA16 mx_xlib;
D3DXMATRIXA16 mx_pitch_first;
D3DXMATRIXA16 mx_yaw_first;
D3DXMATRIXA16 mx_yaw, mx_pitch;
float yaw, pitch, roll =0.0f;
yaw= D3DX_PI/6;
pitch= D3DX_PI/3;
TRACE( "yaw: %f pitch: %f\n", yaw, pitch );
D3DXMatrixRotationYawPitchRoll( &mx_xlib, yaw, pitch, roll );
D3DXMatrixRotationY( &mx_yaw, yaw );
D3DXMatrixRotationX( &mx_pitch, pitch );
mx_pitch_first = mx_pitch * mx_yaw ;