Z 軸を中心にベクトルを回転させる方法はありますか。
 
 
 

MAXScript に関する質問と回答 > ベクトルの操作 > Z 軸を中心にベクトルを回転させる方法はありますか。

質問:

単位ベクトルを、2 度単位で 360 度回転させようとしています。X 座標と Y 座標は変えず、Z 軸だけを中心にして回転させようと考えています。

回答:

Matrix3 値」のトピックでは、ベクトル(Point3 値)を変換するための便利な方法を紹介しています。この中に、ワールド Z 軸を中心に回転させる方法も含まれています。rotateZMatrix 値を作成し、この値を使用して元のベクトルを変換するだけです。

スクリプト:

resetMaxFile #noPrompt -- ファイルをリセットします。
theV = normalize [5,0,10] -- 回転させるベクトルを単位ベクトルに単位化します。
theStep = 10 -- 回転させる単位となる角度。
-- 単位 TheStep を使って 0 から 360 の theStep で回転させます。
for a = 0 to 360-theStep by theStep do
(
  rm = rotateZMatrix a -- 値から回転行列を作成します。
  theRotV = theV * rm -- 行列を使用して元のベクトルを変換します。
  format "%: %\n" a theRotV -- リスナーへ結果を出力します。
  c = cylinder() -- 円柱を作成します。
  c.dir = theRotV -- 下の図のようにベクトルに沿って調整します。
)

結果はマフィンのようになります。

関連事項