Blenderで作成した文字のポリゴンを四元数(クォータ二オン)で回転させてみました。
中央に立つ細いポールの角度を軸に文字が回転します。
動画の終盤でポールが手前に倒れた後に文字が回転せずに大きさが変化したり変形したりする動作はバグだと思われます。
■ クオータニオンの考え方
回転軸の3次元単位ベクトル [ x, y, z ] と、回転角度「θ」から、下記の4次元ベクトルを四元数として作成します。
[ cosθ/2 sinθ/2*x sinθ/2*y sinθ/2*z ]
上記の4次元ベクトル[ w x y z ]をから下記の行列を作成します。
回転軸としθ分の角度に回転させたベクトルが算出されます。
■ 四元数から行列形式へ変換
[ 1-2yy-2zz 2xy+2zw 2xz-2yw 0 ]
[ 2xy-2zw 1-2xx-2zz 2yz+2zw 0 ]
[ 2xz+2yw 2yz-2xw 1-2xx-2yy 0 ]
[ 0 0 0 1 ]
◆ ソースコード
https://github.com/S-Yajima/UI_App_iO...
◆ BGM
Life is a Party
written by t.tam
https://dova-s.jp/bgm/play4833.html
#Python #3D #数学
コメント