差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| articles:frame [2021/06/14 12:22] – [同次変換行列と位置ベクトルの積] Takashi Suehiro | articles:frame [2022/03/04 09:02] (現在) – [まとめ] Takashi Suehiro | ||
|---|---|---|---|
| 行 48: | 行 48: | ||
| [{{ articles: | [{{ articles: | ||
| - | 図3は位置ベクトルの座標変換を示している.位置ベクトルの場合は座標系の原点位置に依存するので | + | 図3は点Pに対する位置ベクトルの座標変換を示している.位置ベクトルの場合は座標系の原点位置に依存するので |
| - | 計算がもう少し複雑になる. | + | 計算がもう少し複雑になる.座標系$\Sigma_0$から見た点Pの位置ベクトル$^0\boldsymbol{p}$はベクトルとしては |
| + | 座標系$\Sigma_0$の原点から座標系$\Sigma_1$の原点へのベクトル$^0\boldsymbol{d}_1$と, | ||
| + | 座標系$\Sigma_1$の原点から点Pへのベクトル$^1\boldsymbol{p}$を加えたものになる. | ||
| + | ただし$^1\boldsymbol{p}$は座標系$\Sigma_1$での成分表示になっているため | ||
| + | 座標系$\Sigma_0$への成分表示に変換して加える必要がある.したがって, | ||
| $$ | $$ | ||
| ^0\boldsymbol{p} = {^0A_1} {^1\boldsymbol{p}}+^0\boldsymbol{d}_1 \tag{4} | ^0\boldsymbol{p} = {^0A_1} {^1\boldsymbol{p}}+^0\boldsymbol{d}_1 \tag{4} | ||
| $$ | $$ | ||
| + | となる. | ||
| 図が煩雑になるので座標系$\Sigma_2$は描かれていないが同様に, | 図が煩雑になるので座標系$\Sigma_2$は描かれていないが同様に, | ||
| 行 71: | 行 76: | ||
| ==== 座標系の変換の連鎖 ==== | ==== 座標系の変換の連鎖 ==== | ||
| - | 図2に戻って見ると,座標系$\Sigma_0$から見た座標系$\Sigma_2$の原点位置$^0\boldsymbol{d}_2$は,座標系$\Sigma_2$からみた自身の原点位置は$0$なので式(5)で$^2\boldsymbol{p}=\boldsymbol{0}$として計算できる. | + | 図2に戻って見ると,座標系$\Sigma_0$から見た座標系$\Sigma_2$の原点位置$^0\boldsymbol{d}_2$は,座標系$\Sigma_2$からみた自身の原点位置は$0$なので式(6)で$^2\boldsymbol{p}=\boldsymbol{0}$として計算できる. |
| $$ | $$ | ||
| 行 165: | 行 170: | ||
| {^0T_2}={^0T_1}{^1T_2} \tag{11} | {^0T_2}={^0T_1}{^1T_2} \tag{11} | ||
| $$ | $$ | ||
| - | のように,座標系の姿勢のみを表現した直行行列の変換と類似の分かりやすい記法となる. | + | のように,座標系の姿勢のみを表現した直交行列の変換と類似の分かりやすい記法となる. |
| ==== 同次変換行列の逆行列(逆変換) ==== | ==== 同次変換行列の逆行列(逆変換) ==== | ||
| 行 180: | 行 185: | ||
| \end{array} | \end{array} | ||
| \right) | \right) | ||
| + | = {^0T_1^{-1}} | ||
| \tag{12} | \tag{12} | ||
| $$ | $$ | ||
| - | これが逆行列になっていることは,式(10)の$^1T_2$にこの$^1T_0$を代入して計算するとすぐに分かる. | + | これが$^0T_1$の逆行列になっていることは,式(10)の$^1T_2$にこの$^1T_0$を代入して計算するとすぐに分かる. |
| ==== 同次変換行列と位置ベクトルの積 ==== | ==== 同次変換行列と位置ベクトルの積 ==== | ||
| 行 231: | 行 237: | ||
| ^0\boldsymbol{p} = {^0T_1}{^1T_2}{^2\boldsymbol{p}} \tag{14} | ^0\boldsymbol{p} = {^0T_1}{^1T_2}{^2\boldsymbol{p}} \tag{14} | ||
| $$ | $$ | ||
| - | のように簡単に表記できることは, | + | のように簡単に表記できることは,式(13)ないしは式(11)を用いて計算すると |
| - | 式(6)と一致することから分かる. | + | 式(6)と一致することからすぐ分かる. |
| ==== 同次変換行列とベクトルの積 ==== | ==== 同次変換行列とベクトルの積 ==== | ||
| 行 273: | 行 279: | ||
| 表現した方が素直ではある. | 表現した方が素直ではある. | ||
| + | ===== まとめ ===== | ||
| + | |||
| + | 座標系の姿勢と位置の表現(ないしはその変換の表現)に同次変換行列を用いることで変換の連鎖が | ||
| + | $$ | ||
| + | {^0T_2} = {^0T_1}{^1T_2} | ||
| + | $$ | ||
| + | などの形式で容易に表現できる. | ||
| + | |||
| + | また位置ベクトルも, | ||
| + | $$ | ||
| + | ^0\boldsymbol{p} = {^0T_1}{^1\boldsymbol{p}} | ||
| + | $$ | ||
| + | の形で分かりやすく表現出来る. | ||
| + | |||
| + | 同次変換行列を,たとえば任意のある座標系のz軸方向10.0[m]など,特定の座標系によらない座標変換に用いる場合は, | ||
| + | 左上の参照座標系の表示をしないことが多い. | ||
| + | |||
| + | 同次変換行列による表現はとても便利なものであるが,最初に述べたようにプログラムで実装する際は | ||
| + | 座標系の連鎖やそれに伴うベクトルの変換などの機能が実現できていれば | ||
| + | 内部表現を必ずしも4x4の行列にする必要はない. | ||
| + | |||
| + | ===== プログラムと練習問題 ===== | ||
| + | [[articles: | ||
| + | [[articles: | ||