vtk カメラを焦点を中心に回転させようとしています。目的は、モデルを「軌道に乗せる」ことです。
呼び出しを使用しcamera.SetPosiiton(x, y, z)
てカメラの位置を設定していますが、レンダリング ウィンドウの更新期間ごとに同じことができることがわかっています。
焦点には位置 (0, 0, 0) があり、他のバウンディング ボックスを取得すると、最初のカメラ (x, y, z) の位置が得られます。焦点 (0, 0, 0) からカメラ位置 9x, y, z) までの距離は、球の半径を表します。
私の頭の中では、これは基本的にポイント (0, 0, 0) の周りでカメラを段階的に動かします。私は、開始カメラ ポイントを供給し、次のカメラ位置を計算するために使用できる数学関数があると推測しています。
これにより、モデルが空間で回転しているように見えるはずです。私のカメラ ビューはすべての x、y、z 平面からずれているため、2 次元の問題ではなく 3 次元の問題になっています。ただし、カメラをモデル (焦点) から同じ距離に維持したい
私が達成しようとしているのは次のようなものです:- 鉛筆を持ってください (私のモデルは長くて狭いです)。腕の長さで指先で持ち、先端を天井に向けます。鉛筆を 30 度まで傾けます。これがカメラの開始位置です。傾斜角度と目からの距離を維持しながら、鉛筆本体を指で回転させます。
この投稿は役に立ちます:球の端に点をプロットしますが、これは最初の x、y 位置に到達するための半径を知っていることを前提としています。
これを行うために必要な数学を教えてください。私の数学はひどく錆びています。