10/01/25 05:49:24
>>649
「『最小距離による回転』後の平行移動のみによって変換がなされる」として良いならばですが……
変換前の3点から平面〈N1,D1〉、変換後の3点から平面〈N2,D2〉を算出。
法線の変換を、回転軸 A = N1×N2/|N1×N2| と 回転角 θ = arccos(N1・N2) から四元数 q = cos(θ/2) + Asin(θ/2) として求める。
四元数qを行列に変換し、回転行列Rとする。
移動成分tはD1,D2より、 t = (D2-D1)×N2 で求める。
問題を平面の変換として捉えて、"法線の回転"と"平行移動距離の変化"に分けて考えればよいかと思います。
……といっても、上記はコード書かずに頭捻っただけなので過信禁物でお願いします。
もっと効率のよい、セオリー的な解法があるかも。それ以前に間違ってるかも。
「姿勢制御 四元数」でググるとヒントになるかもしれません。