top of page
検索
  • ハッピーエンド過激派

ウディタ3Dでの(θ,φ,ψ)回転行列の計算式

更新日:2023年8月26日

2023/8/26 下記の計算式はとてつもなく我流のため、そーまさんの3D描画手法を前提とした上で、こちらの記事の「ロール(φ)ピッチ(θ)ヨー(ψ)で回転する場合」を参照してください。



ウディタが3.0に無事アップデートされたことにより、膨大なループ処理と自由変形を濫用するウディタ3Dの可能性がさらに広がりました。


ということでユニットの角度(θ,φ,ψ)(オイラー角というらしいです)の回転行列の計算式を導出したので共有します。下記動画のとおり動作確認済みです!

 

前提:XとYが平面、Zが高さ

概要:以下の3行列を上から順にかける

COSθ

SINθ

0

-SINθ

COSθ

0

0

0

1

1

0

0

0

COSφ

SINφ

0

-SINφ

COSφ

COSψ

0

-SINψ

0

1

0

SINψ

0

COSψ

以上の行列を計算すると回転後の各座標は以下のようになります。


X = X ( cosθcosψ + sinθsinφsinψ )

 + Y sinθcosφ

 + Z ( cosθ + sinθsinφcosψ )


Y = X ( -sinθcosψ + cosθsinφsinψ )

 + Y cosθcosφ

 + Z ( sinθsicψ + cosθsinφcosψ )


Z = X cosφsinψ

 + Y ( -sinφ )

 + Z cosφcosψ


三角関数はウディタのデフォ機能で1000倍されているので、乗じた後は/1000する必要があることにご留意ください。また、実数計算にした方が良いかもしれません。

なお筆者はド文系なので数学的な定義等を一切把握していない点にもご留意ください。

 

以下実際の計算式です。改良できる方はアドバイスいただけると嬉しいです!





閲覧数:151回0件のコメント
bottom of page