申し訳ないんですが、図がよくわからないです。
たぶん左から順に XZ平面図、時計回りの矢印、左手座標系XYZ立体図 だと思うのですが
それが何を意味してるのかがイマイチわかりません。
しかし、3Dでカメラをグルグル回したいというのであれば
まず必要な各変数を以下のように定義したとして
CPX = 0.0; // 3D上のカメラの位置X
CPY = 0.0; // Y
CPZ = 0.0; // Z
// 角度は360度
CAngleY = 0.0; // 垂直方向のカメラの角度(0.0が水平、プラスが上、マイナスが下)
CAngleXZ = 0.0; // 水平方向のカメラの角度(0.0がZ軸方向、プラスが上から見て時計回り)
CLen = 1.0; // カメラの位置と注視点までの距離(これはあまり考えなくてもいい)
CLX = 0.0; // カメラの注視点X
CLY = 0.0; // Y
CLZ = 1.0; // Z
このときのカメラ位置は好きに変えてください。
そしてこれらの変数を使って注視点を計算します。
// 注視点の計算
dx = CLen * sin(deg2rad(CAngleY)) * sin(deg2rad(CAngleXZ)); // カメラが原点にある場合の注視点の位置X
dy = CLen * cos(deg2rad(CAngleY)); // Y
dz = CLen * sin(deg2rad(CAngleY)) * cos(deg2rad(CAngleXZ)); // Z
CLX = CPX + dx; // カメラの位置に合わせた実際の注視点を求める
CLY = CPY + dy; //
CLZ = CPZ + dz; //
これで注視点が求められ、カメラの向きをCLX,CLY,CLZに設定すれば
グルグル回るような演出が可能になるはずです。
やったのが結構前なので少々あやしいですが……
注意点としては、CAngleYの値が 90.0(真上)や -90.0(真下)を入れると
たしかエラーになります。(3Dの計算上0で除算になるとかだったはず)
なので、89.0までにするなどの対策が必要になります。