θは、以下のような形式に変換して置くことが多いです。)これを、以下のように表したりもします。sinθ2p)この形式を四元数といいます。分野では大して役に立ちません。)という形式で持っているものとだけ覚えておけば十分。3次元空間上の回転まず、3次元空間上の回転を定式化します。回転軸ベクトルの絶対値は意味を持たないので、|p|=1であるものとしてます。u'は、以下のような計算で求めることができます。cosθ)(u⋅p)pちなみに、この式の導出の仕方ですが、下図のようになります。すると、OH=(u⋅p)pHA=u−(u⋅p)pとなります。|HA|と等しいベクトルになります。cosθ)(u⋅p)pと表すことができるので、先ほど示した式を導き出すことができます。実際には、この式をそのまま使うのではなく、行列演算に変形してから使います。(行列にすることで、拡大縮小や平行移動などと一緒に、まとめて扱えるため。)3次元ベクトルの外積計算は以下のように、p×u=u[0−pzpypz0−px−pypx0]行列とベクトルの積としても書き表わせます。(ただし、ベクトルは横ベクトルを仮定しています。先ほどの回転の式は、以下のような行列で表すことができます。cosθ)pz2+cosθ]四元数から回転行列を計算ここで話を四元数に戻します。θの情報を、以下の形式で保持するものです。以下のように書き表わすことにします。)ここで、三角関数の倍角の公式を使うと、以下の等式が導かれます。以下の結果が得られます。u'=u[2(qx2+qw2)−12(qxqy−qzqw)2(qxqz+qyqw)2(qxqy+qzqw)2(qy2+qw2)−12(qyqz−qxqw)2(qxqy−qyqw)2(qyqz+qxqw)2(qz2+qw2)−1]あるいは、|q|=1なことを利用して、以下のようにも書けます。u'=u[1−2(qy2+qz2)2(qxqy−qzqw)2(qxqz+qyqw)2(qxqy+qzqw)1−2(qz2+qx2)2(qyqz−qxqw)2(qxqy−qyqw)2(qyqz+qxqw)1−2(qx2+qy2)]ちなみに、こうやって作られた行列は、必ず直交行列になります。(実際、計算してみてもらうと、各列が正規直行していることがわかります。直交行列による1次変換)になっていないとおかしいはずです。まで気兼ねなくご連絡ください。ついて運営者について。