- kamakiri_ys
- 6286
- 0
- 0
- 0
化学科にいた頃より心理学やるようになってからの方がプログラミングやら数学やらと格闘する時間が長くなってよっぽど理系ぽいなw 化学は理系と言うより体育会系的な感じだったし
2012-10-20 00:00:24@syuiro ベクトルの回転をしたいんですけど、N次元(N>3)空間での回転がしたくて、かつ原点からの距離を一定にした回転をしたいんです。
2012-10-20 00:05:14N次元ベクトルを(N-2)次元のsub spaceで回転するっていうのの意味がつかみにくい。軸で回転するならわかるけど、空間で回転するって何
2012-10-20 00:14:52@T_Y_K かなり泥臭いやり方だけど、回転行列の基本を使うとしたらhttp://t.co/sfKSSdB4 にのってるようなRz(γ)Rx(β)Ry(α)の積みたいに各軸ごとに回転していけばいいと思うのですけれどどうでしょう
2012-10-20 00:49:13@syuiro 三次元ベクトルの回転ならそれで、一般の多次元の場合でも似た感じで行けるようなんですが、問題は回転の軌跡のコントロールの仕方なんです。例えば100次元空間中にある点Aがあって、これを原点を中心に回転させてまた元の位置まで戻したいんですが、これがよくわからなくて。
2012-10-20 01:00:05@syuiro 回転の方法はこの論文で解説されてて、N次元空間でベクトルを回転させるのに(N-2)次元空間を軸にして回転させる方法が解説されてるんですが、問題は「原点を中心に回転させたい」みたいな制約を付けたいときにそれをどう回転行列に反映させたらいいのかなというのが不明で。
2012-10-20 01:03:13@T_Y_K もしsinθみたいに表されているとしたら一回転させて元に戻すには単純にθ:0⇒2πまで変化させれば済むとおもいますけど、100次元になるとその操作を100回操作しなきゃいけなくなりますねw その煩雑さを上手く回避する方法ってことなのかなあ
2012-10-20 01:06:16@syuiro 3次元空間だと回転軸は3軸なんですが、4次元になると回転軸は6軸あって、5次元になると10で、つまりnC2の軸が生じるみたいです。だから100次元だと4950の回転軸があって、けっこう得体が知れない世界になってますw
2012-10-20 01:11:03昨日の問題解決できた。N次元ベクトルVを原点を中心に回転させる時、まずVの単位ベクトルu1とu1に直交な任意の単位ベクトルu2を用意して、u1とu2の張る空間でVを回転させれば良い。Rnでの一般的な回転の与え方はこの解説がわかりやすかった http://t.co/AV5dMTPV
2012-10-20 19:53:564次元以上だと回転の概念が変わるからその様子がイメージ出来なくてうんぬんしてたけど、そんなの気にせずただフォーマルな手続きをすればそれで済むのでした
2012-10-20 19:56:13