yu00’s blog

プログラミングに関する備忘録です

座標変換まとめ

はじめに

CGや画像処理で必要になる座標変換について説明します。
座標変換は同次変換行列という形式で表すことで、
すべて行列の掛け算で行うことができます。

表記

座標Aから見た点pの座標である時、
次のように表記します。

移動

座標Aから見た座標Bへの平行移動が}の時、
座標Bから見た点pを座標Aから見た点に変換する式は以下です。

  • : 座標Bから座標Aへの平行移動の同次変換行列

回転

座標Aから見た座標Bへの回転がの時の変換は以下です。

  • : 座標Bから座標Aへの回転の同次変換行列
  • : X軸回転
  • : Y軸回転
  • : Z軸回転

スケール

座標Aから見た座標Bへのスケールがの時の変換は以下です。

  • : 座標Bから座標Aへのスケールの同次変換行列

同次変換の連続

各座標間の同次変換行列が分かっている時、
行列の掛け算で変換できます。

  • : 座標Cから座標Aへの同次変換行列
  • : 座標Bから座標Aへの同次変換行列
  • : 座標Cから座標Bへの同次変換行列

図のようにAからDまでの各座標間の同次変換行列が分かっている時の
変換は以下です。

逆変換

同次変換の逆変換は逆行列です。

基底変換

基底変換は座標BのXYZ軸を座標AのXYZ軸で表せる時の
回転とスケールの変換方法です。

座標Aから見た点pの座標の時、座標AのXYZ(W)軸を

とし、

と表せます。この時XYZ軸を座標Aの基底と呼びます。

以下のように座標Aの基底を使って座標Bの基底を表せる時を考えます。

  • : 座標Bの基底

座標Bから見た点pの座標がの時、
以下のように同次変換行列を求めることができます。

  • : 座標Bから座標Aへの同次変換行列

参考


Powered by MathJax

This page is based on MathJax technology.