Author: 坂田年弘

5次元回転&投影行列

5次元空間上の座標を回転させ、更に2次元平面上に投影するという行列を以前計算しましたのでその結果を掲載致します。

数値計算ソフトに頼めば一瞬で算出してくれそうではありますが、自分は手計算で押し切ったので一種のネタとして見ていただければと思います。

式は『Gamemaker』という日本ではマイナーな2Dゲーム制作に特化した開発ソフトに準拠した(GML言語)記述となっていますが何となく読めると思います。

x,y:最終的な2次元上の座標 / global.rr : 倍率 / a~j : 10個の各回転軸に対応した回転角 / xx,yy,zz,ww,vv : 元の5次元座標 / xxx,yyy : 2次元上の中心座標 / global.p : v軸上の投影視点座標 / global.q : w軸上の投影視点座標 / global.r : z軸上の投影視点座標 (global.p,q,r → ∞ で平行投影)(degtorad() : 度数法→弧度法変換)

x = xxx + global.rr((( cos(degtorad(a))cos(degtorad(c))cos(degtorad(e))cos(degtorad(g)) + sin(degtorad(b))sin(degtorad(c))sin(degtorad(e))cos(degtorad(g)) )xx
+ ( -cos(degtorad(a))cos(degtorad(c))cos(degtorad(e))sin(degtorad(g))sin(degtorad(h)) – sin(degtorad(b))sin(degtorad(c))sin(degtorad(e))sin(degtorad(g))sin(degtorad(h)) – sin(degtorad(a))cos(degtorad(d))cos(degtorad(e))cos(degtorad(h)) – cos(degtorad(b))sin(degtorad(d))sin(degtorad(e))cos(degtorad(h)) )yy
+ ( -cos(degtorad(a))
cos(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – sin(degtorad(b))sin(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) + sin(degtorad(a))cos(degtorad(d))cos(degtorad(e))sin(degtorad(h))sin(degtorad(i)) + cos(degtorad(b))sin(degtorad(d))sin(degtorad(e))sin(degtorad(h))sin(degtorad(i)) + sin(degtorad(a))sin(degtorad(d))cos(degtorad(e))cos(degtorad(i)) – cos(degtorad(b))cos(degtorad(d))sin(degtorad(e))cos(degtorad(i)) )zz
+ ( -cos(degtorad(a))cos(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))sin(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + sin(degtorad(a))cos(degtorad(d))cos(degtorad(e))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + cos(degtorad(b))sin(degtorad(d))sin(degtorad(e))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(d))cos(degtorad(e))sin(degtorad(i))sin(degtorad(j)) + cos(degtorad(b))cos(degtorad(d))sin(degtorad(e))sin(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))sin(degtorad(c))cos(degtorad(e))cos(degtorad(j)) + sin(degtorad(b))cos(degtorad(c))sin(degtorad(e))cos(degtorad(j)) )ww
+ ( -cos(degtorad(a))
cos(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))sin(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))cos(degtorad(d))cos(degtorad(e))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + cos(degtorad(b))sin(degtorad(d))sin(degtorad(e))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(a))sin(degtorad(d))cos(degtorad(e))sin(degtorad(i))cos(degtorad(j)) + cos(degtorad(b))cos(degtorad(d))sin(degtorad(e))sin(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(c))cos(degtorad(e))sin(degtorad(j)) – sin(degtorad(b))cos(degtorad(c))sin(degtorad(e))sin(degtorad(j)) )vv)
/((global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv))(global.q – ( (( sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))cos(degtorad(g)) + cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))cos(degtorad(g)) )xx
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))sin(degtorad(h)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))sin(degtorad(h)) + cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))cos(degtorad(h)) + sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))cos(degtorad(h)) )yy
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))cos(degtorad(i)) + sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))cos(degtorad(i)) )zz
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))cos(degtorad(j)) + cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))cos(degtorad(j)) )ww
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))sin(degtorad(j)) – cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))sin(degtorad(j)) )vv)
/(global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv)
)))(global.r-((( cos(degtorad(a))cos(degtorad(c))sin(degtorad(e))cos(degtorad(g)) – sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))cos(degtorad(g)) )xx
+ ( -cos(degtorad(a))cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))sin(degtorad(h)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))sin(degtorad(h)) – sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))cos(degtorad(h)) + cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))cos(degtorad(h)) )yy
+ ( -cos(degtorad(a))
cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) + sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))sin(degtorad(h))sin(degtorad(i)) – cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))sin(degtorad(h))sin(degtorad(i)) + sin(degtorad(a))sin(degtorad(d))sin(degtorad(e))cos(degtorad(i)) + cos(degtorad(b))cos(degtorad(d))cos(degtorad(e))cos(degtorad(i)) )zz
+ ( -cos(degtorad(a))cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(d))sin(degtorad(e))sin(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))cos(degtorad(d))cos(degtorad(e))sin(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))sin(degtorad(c))sin(degtorad(e))cos(degtorad(j)) – sin(degtorad(b))cos(degtorad(c))cos(degtorad(e))cos(degtorad(j)) )ww
+ ( -cos(degtorad(a))
cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(a))sin(degtorad(d))sin(degtorad(e))sin(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))cos(degtorad(d))cos(degtorad(e))sin(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(c))sin(degtorad(e))sin(degtorad(j)) + sin(degtorad(b))cos(degtorad(c))cos(degtorad(e))sin(degtorad(j)) )vv)
/((global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv)
)(global.q – ((( sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))cos(degtorad(g)) + cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))cos(degtorad(g)) )xx
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))sin(degtorad(h)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))sin(degtorad(h)) + cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))cos(degtorad(h)) + sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))cos(degtorad(h)) )yy
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))cos(degtorad(i)) + sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))cos(degtorad(i)) )zz
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))cos(degtorad(j)) + cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))cos(degtorad(j)) )ww
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))sin(degtorad(j)) – cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))sin(degtorad(j)) )vv)
/(global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv)
))))))))

y = yyy + global.rr((( sin(degtorad(a))cos(degtorad(c))cos(degtorad(f))cos(degtorad(g)) – cos(degtorad(b))sin(degtorad(c))sin(degtorad(f))cos(degtorad(g)) )xx /
+ ( -sin(degtorad(a))cos(degtorad(c))cos(degtorad(f))sin(degtorad(g))sin(degtorad(h)) + cos(degtorad(b))sin(degtorad(c))sin(degtorad(f))sin(degtorad(g))sin(degtorad(h)) + cos(degtorad(a))cos(degtorad(d))cos(degtorad(f))cos(degtorad(h)) – sin(degtorad(b))sin(degtorad(d))sin(degtorad(f))cos(degtorad(h)) )yy
+ ( -sin(degtorad(a))
cos(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) + cos(degtorad(b))sin(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))cos(degtorad(d))cos(degtorad(f))sin(degtorad(h))sin(degtorad(i)) + sin(degtorad(b))sin(degtorad(d))sin(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))sin(degtorad(d))cos(degtorad(f))cos(degtorad(i)) – sin(degtorad(b))cos(degtorad(d))sin(degtorad(f))cos(degtorad(i)) )zz
+ ( -sin(degtorad(a))cos(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + cos(degtorad(b))sin(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + sin(degtorad(b))sin(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))cos(degtorad(f))sin(degtorad(i))sin(degtorad(j)) + sin(degtorad(b))cos(degtorad(d))sin(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(c))cos(degtorad(f))cos(degtorad(j)) – cos(degtorad(b))cos(degtorad(c))sin(degtorad(f))cos(degtorad(j)) )ww
+ ( -sin(degtorad(a))
cos(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + cos(degtorad(b))sin(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + sin(degtorad(b))sin(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))cos(degtorad(f))sin(degtorad(i))cos(degtorad(j)) + sin(degtorad(b))cos(degtorad(d))sin(degtorad(f))sin(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))sin(degtorad(c))cos(degtorad(f))sin(degtorad(j)) + cos(degtorad(b))cos(degtorad(c))sin(degtorad(f))sin(degtorad(j)) )vv)
/((global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv))(global.q – ( (( sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))cos(degtorad(g)) + cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))cos(degtorad(g)) )xx
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))sin(degtorad(h)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))sin(degtorad(h)) + cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))cos(degtorad(h)) + sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))cos(degtorad(h)) )yy
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))cos(degtorad(i)) + sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))cos(degtorad(i)) )zz
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))cos(degtorad(j)) + cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))cos(degtorad(j)) )ww
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))sin(degtorad(j)) – cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))sin(degtorad(j)) )vv)
/(global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv)
)))(global.r-((( cos(degtorad(a))cos(degtorad(c))sin(degtorad(e))cos(degtorad(g)) – sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))cos(degtorad(g)) )xx
+ ( -cos(degtorad(a))cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))sin(degtorad(h)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))sin(degtorad(h)) – sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))cos(degtorad(h)) + cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))cos(degtorad(h)) )yy
+ ( -cos(degtorad(a))
cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) + sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))sin(degtorad(h))sin(degtorad(i)) – cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))sin(degtorad(h))sin(degtorad(i)) + sin(degtorad(a))sin(degtorad(d))sin(degtorad(e))cos(degtorad(i)) + cos(degtorad(b))cos(degtorad(d))cos(degtorad(e))cos(degtorad(i)) )zz
+ ( -cos(degtorad(a))cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(d))sin(degtorad(e))sin(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))cos(degtorad(d))cos(degtorad(e))sin(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))sin(degtorad(c))sin(degtorad(e))cos(degtorad(j)) – sin(degtorad(b))cos(degtorad(c))cos(degtorad(e))cos(degtorad(j)) )ww
+ ( -cos(degtorad(a))
cos(degtorad(c))sin(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + sin(degtorad(b))sin(degtorad(c))cos(degtorad(e))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))cos(degtorad(d))sin(degtorad(e))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))sin(degtorad(d))cos(degtorad(e))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(a))sin(degtorad(d))sin(degtorad(e))sin(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))cos(degtorad(d))cos(degtorad(e))sin(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(c))sin(degtorad(e))sin(degtorad(j)) + sin(degtorad(b))cos(degtorad(c))cos(degtorad(e))sin(degtorad(j)) )vv)
/((global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv)
)(global.q – ((( sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))cos(degtorad(g)) + cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))cos(degtorad(g)) )xx
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))sin(degtorad(h)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))sin(degtorad(h)) + cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))cos(degtorad(h)) + sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))cos(degtorad(h)) )yy
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))sin(degtorad(i)) – cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))cos(degtorad(i)) + sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))cos(degtorad(i)) )zz
+ ( -sin(degtorad(a))cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))sin(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))sin(degtorad(j)) – sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))cos(degtorad(j)) + cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))cos(degtorad(j)) )ww
+ ( -sin(degtorad(a))
cos(degtorad(c))sin(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(b))sin(degtorad(c))cos(degtorad(f))sin(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – cos(degtorad(a))cos(degtorad(d))sin(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))sin(degtorad(d))cos(degtorad(f))sin(degtorad(h))cos(degtorad(i))cos(degtorad(j)) + cos(degtorad(a))sin(degtorad(d))sin(degtorad(f))sin(degtorad(i))cos(degtorad(j)) – sin(degtorad(b))cos(degtorad(d))cos(degtorad(f))sin(degtorad(i))cos(degtorad(j)) + sin(degtorad(a))sin(degtorad(c))sin(degtorad(f))sin(degtorad(j)) – cos(degtorad(b))cos(degtorad(c))cos(degtorad(f))sin(degtorad(j)) )vv)
/(global.p – (( sin(degtorad(g)) )xx
+ ( cos(degtorad(g))
sin(degtorad(h)) )yy
+ ( cos(degtorad(g))
cos(degtorad(h))sin(degtorad(i)) )zz
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))sin(degtorad(j)) )ww
+ ( cos(degtorad(g))cos(degtorad(h))cos(degtorad(i))cos(degtorad(j)) )vv)
))))))))

自分自身は上記のコードで実装に成功しましたが、急いで整理したので一部ミスが有りましたら申し訳ありません。