12 lines
401 B
Plaintext
12 lines
401 B
Plaintext
Quaternion-derived rotation matrix:
|
|
|
|
n = w * w + x * x + y * y + z * z
|
|
s = if n == 0 then 0 else 2 / n
|
|
wx = s * w * x, wy = s * w * y, wz = s * w * z
|
|
xx = s * x * x, xy = s * x * y, xz = s * x * z
|
|
yy = s * y * y, yz = s * y * z, zz = s * z * z
|
|
|
|
[ 1 - (yy + zz) xy - wz xz + wy ]
|
|
[ xy + wz 1 - (xx + zz) yz - wx ]
|
|
[ xz - wy yz + wx 1 - (xx + yy) ]
|