座標変換

6,217

 

 図形の平行移動や回転移動には座標変換が必要です。
 座標変換は、並進や回転の変換行列を単独あるいは組み合せて行いますが、Excelにはこの行列計算をするための関数(積を求めるMMULT()など)が備わっています。
 ここでは、このExcel関数を用いて座標変換を行う方法の概要を解説します。

 当HP掲載の歯車関連のExcelでは、歯形形状のグラフ描画にこの手法を多く使っています。
 注意しなければならないのは、並進と回転のどちらを先に行うかで結果が異なる点と、x,y座標のデータがExcel上で行方向に並んでいるか列方向に並んでいるかで変換行列が異なる(転置関係になる)点です。

 前者の例を右図に示しますが、最初の点Pに対して並進移動後に回転移動を行った点P(AB)とその逆を行った点P(BA)の位置が異なることに注意して下さい。

 一般には列ベクトルによる行列計算の紹介が多いのですが、Excelでのデータ処理の都合上、行ベクトルの方が扱いやすい場合もあるため、この記事では両方の方法を紹介しています。

【参考】(右図)
 列ベクトルの場合は、変換行列を変換の順番と逆に並べます。
 例えば、並進→回転では、変換行列は[回転]・[並進]の順番に並べます。
 これは、列ベクトルで与えられた元座標が、変換行列の式の最後にくるため、最初に掛け算される行列が[並進]、次が[回転]となるからです。
 行ベクトルの場合は、元座標は式の先頭にくるため、変換の順序と変換行列の順序は同じです。

 

<参考記事>

機械設計一般-応用計算-テオヤンセン機構