忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[2486] [2484] [2483] [2482] [2481] [2480] [2478] [2476] [2475] [2474] [2473]
アニメの話ではありませんが3Dのgifアニメでの回転シミュレータ解説の話です^^
3次元の回転行列 
3次元の回転行列を使った回転だと、ジンバルロックという現象が発生する
というのを以前から聞いてはいまして
「そこで登場するのがクォータニオンだよ。」

とは言ったものの、虚数単位が3つもある数学形態を自作するっていうのはできるのかどうかと不安だったのです。

パウリ行列がクォータニオンのまんま代わりになると知ったのは割りとつい最近でして

あるクォータニオンP1=(t1;V1)=(t1;x1,y1,z1) P2=(t2;V2)=(t2;x2,y2,z2) との積が
クォータニオンでもパウリ行列でもP1×P2=(t1t2-V1・V2;t1V2+t2V1+V1×V2)でまったく同じになるというのは衝撃ゴウライガン!!でした。 

クォータニオンでは
P=t+xI1+yI2+zI3  と書き、大文字のIは3つとも虚数単位で
虚数単位同士には
 Im・In=-δ(m,n)+Ik・ε(m,n,k) 
といった、ベクトルの直交関係にも似たようなルールがあるのですが


パウリ行列パウリ行列(エルミートかつユニタリ)
同士の間にも

と、iの分だけずれたようなルールがあって
σm・σn=σ0・δ(m,n)+i・σk・ε(m,n,k) 
実は 
In=-iσnディラックのデルタとエディントンのイプシロン
(小文字のiは1つだけの虚数単位:クォータニオン(四元数)ではなく複素数)
と置くことで、いとも容易くクォータニオン同士の積と、パウリ行列系列同士の積が P1×P2=(t1t2-V1・V2;t1V2+t2V1+V1×V2)と一致してしまうのです。





=========
回転させるとき

規格化されたベクトルn(n1,n2,n3)を回転軸に、P(x,y,z)というベクトルをθだけ回転させたい場合は
ノルムが1 
クォータニオンQ=(cos(θ/2);n1 (θ/2) ,n2 sin(θ/2) ,n3 sin(θ/2) )
と、その複素共役 Q*=(cos(θ/2);-n1 (θ/2) ,-n2 sin(θ/2) ,-n3 sin(θ/2) ) 

を用意して、
回転後のベクトルP'は

P'=QPQ*

で表されます。

クォータニオンで具体的に表記してみますと
QPQ* クォータニオンで回転
   
こうなり

パウリ行列系で表記すると

QPQ* パウリ行列で回転こういう形になります。


ちなみに、
ベクトルx,y,zをパウリ行列に入れるときは、具体的にはこうなりますので
 パウリ行列系を具体的に行列で記述(歪エルミートですね)

結果の行列からx'、y'、z'を取り出したいときには行列の4要素を一旦a,b,c,dと置いて
 パウリ行列からベクトルを取り出す 
このように算出するとよいです。

========
ところで、Excelには複素行列に対応した強力なアドインがネットのどこかに転がっていまして
固有値・固有ベクトルを求める関数こそエルミートではなく実対称行列までが対象なのですが
多くの行列演算関数が複素数対応なのです。


以上のことを踏まえますと、
虚数単位が1つしかないExcelでも、うまくすれば3D回転シミュレータが作れるわけです。



そんなわけで作ってみました。^^
 Excelでジンバルロック解除のクォータニオンもどき
可視化するとこんな感じです。循環参照を使って逐次回転させてます。
ダウンロードは←こちらからよかったら遊んでやってください^^
素朴ver
 パウリ行列で回転 可視化(gifアニメ)

ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析