そこで、視点と注視点を以下のようなコードで求めました(PIは円周率、EYLENGTHは視点までの距離、ATLENGTHは注視点までの距離です)。描画はDirectXを使っているので左手系になっています
// 視点の座標を計算
D3DXVECTOR3 eyePos;
eyePos.x = character[ CODE_PLAYER ]->pos_.x + EYELENGTH * cos(character[ CODE_PLAYER ]->rot_.y - PI / 2 );
eyePos.y = character[ CODE_PLAYER ]->pos_.y - EYELENGTH * sin(character[ CODE_PLAYER ]->rot_.x ) + 1.0f;
eyePos.z = character[ CODE_PLAYER ]->pos_.z - EYELENGTH * sin(character[ CODE_PLAYER ]->rot_.y - PI / 2 );
// 注視点の座標を計算
D3DXVECTOR3 atPos;
atPos.x = character[ CODE_PLAYER ]->pos_.x - ATLENGTH * cos(character[ CODE_PLAYER ]->rot_.y - PI / 2 );
atPos.y = character[ CODE_PLAYER ]->pos_.y + ATLENGTH * sin(character[ CODE_PLAYER ]->rot_.x );
atPos.z = character[ CODE_PLAYER ]->pos_.z + ATLENGTH * sin(character[ CODE_PLAYER ]->rot_.y - PI / 2 );
所謂特異姿勢問題であるとは思うのですが、この方法では機体後方に視点を置き、前方に注視点を置くという方法は使えないのでしょうか?3Dに詳しい方、ご回答お願いします