XavierFrontPageちょっとネットで見かけた3次元から3次元への変換行列。いっても、スケールや直交性は維持されてるので、単なる視点変換の話。なるような制約が抜けていたので、その辺りの制約を加えるとなると、以下の様にする必要がある。1つの点同士の対応で3本の方程式が成り立つ。真ん中の行列が3行存在する、という意味。点を増やせば、増やした数だけ、真ん中の行列は点数*3行ずつ増え、左辺は1列ずつ増える真ん中の行列の逆行列を求めたいので、最低4点必要になる。これで、ようやく真ん中の行列の逆行列が求められる。本当なら、スケーリング係数も考えないと行けないのだが、両方の点の最後の要素が1、行列の右下の要素も1という制約を守るなら、これでもいけるあと、本当は回転行列はそれぞれノルムが1となる列ベクトル3本から成り立ってるはずで、その辺りの制約を入れればもっと精度がよくなる。ノイズが乗る/乗らないという話以前に、変換行列の4行目に対する制約を導入すれば、ノイズが多少は減るはず。回転行列の制約を式に導入する方法に関しては未勉強なので、追々。