MATLAB,Python,Scilab,Julia比較 第3章 その98【射影変換⑫】

MATLAB,Python,Scilab,Julia比較 第3章 その98【射影変換⑫】 数値計算
MATLAB,Python,Scilab,Julia比較 第3章 その98【射影変換⑫】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia3-backnumber/

はじめに

アフィン変換の拡張と言われている射影変換の話。
射影変換の理屈について

  • 射影逆変換について

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

射影逆変換

太郎くん
太郎くん

前回は、射影逆変換の話が出たけど、
今回は、それの詳細説明だっけか?

フクさん
フクさん

そうそう。
といっても、考え方はアフィン変換と一緒だ。

数式の変形

フクさん
フクさん

まずは射影変換の式を再掲

\(
s
\begin{bmatrix}
x\prime\\
y\prime\\
1
\end{bmatrix}=
\begin{bmatrix}
a&b&c\\
d&e&f\\
g&h&1
\end{bmatrix}
\begin{bmatrix}
x\\
y\\
1
\end{bmatrix}
\)

フクさん
フクさん

これを\(x,y\)に対して解く式に変更

\(
\begin{bmatrix}
x\\
y\\
1
\end{bmatrix}=
s
\begin{bmatrix}
a&b&c\\
d&e&f\\
g&h&1
\end{bmatrix}^{-1}
\begin{bmatrix}
x\prime\\
y\prime\\
1
\end{bmatrix}
\)

フクさん
フクさん

そして、\(s\)は元々以下で算出できるもの

\(
s=gx+hy+1
\)

フクさん
フクさん

しかし、今回は逆変換なので、以下で算出する。

\(
\displaystyle s=\frac{1}{gx\prime+hy\prime+1}
\)

太郎くん
太郎くん

話としてはシンプルなことを言ってるとは思うけど、
なんか逆変換で考えるとややこしいことになるな・・・。

フクさん
フクさん

まぁ、以前作ったアフィン変換の処理があるから、
そこに\(s\)に関係する処理を追加するだけになると思うよ。

太郎くん
太郎くん

なるほど。
資産流用か。

まとめ

フクさん
フクさん

まとめだよ。

  • 射影逆変換について説明。
  • 射影変換を元にx,yについて解く式に変形
  • sの扱いについて説明。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました