0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【数理溢れ話】【Token】アフィン変換(線形代数)による代数式と集合論の統合

Last updated at Posted at 2024-12-14

線形代数(Linear Algebra)とは任意の点の集合を任意の点の集合に推移させる計算(変換(Transformation)または関数(Function)または写像(Map))に他なりません。

線形変換(Liner Transformation)

一般的な四則演算の線形代数的表現となります。

代数式aX=bY→同次変換行列
\begin{pmatrix}
X & 0 & a\\
0 & Y & b\\
0 & 0 & -1 \\
\end{pmatrix}
代数式aX=bY=cZ→同次変換行列
\begin{pmatrix}
X & 0 & 0 & a\\
0 & Y & 0 & b\\
0 & 0 & Z & c \\
0 & 0 &0 & -1 \\
\end{pmatrix}

スクリーンショット 2024-12-16 5.47.06.png
そしてここでいう「変数(列)の数に対してデータ=式(行)の数が多過ぎる場合(不能)」からおもむろに「人工知能アルゴリズム領域」が始まるのです。

image.png

アフィン変換(Affine Transformation)

上掲の単位行列(Identity matrix)を恒等変換(Identity Transformation)の演算子と考えて拡張する形となります。

恒等変換(Identity Transformation)

スクリーンショット 2024-12-15 0.58.05.png

二次元アフィン変換

\begin{pmatrix}
X_1  \\
Y_1 \\
1\\
\end{pmatrix}
=\begin{pmatrix}
a & b & e\\
c & d & f\\
0 & 0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
1\\
\end{pmatrix}

並行移動(Parallel Movement)

並行移動(T_x,T_y)
\begin{pmatrix}
X_1\\
Y_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
1 & 0 & T_x \\
0 & 1 & T_y \\
0 & 0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
1\\
\end{pmatrix}

スクリーンショット 2024-12-15 1.17.17.png

拡大縮小(Scaling)

拡大縮小(S_x,S_y)
\begin{pmatrix}
X_1\\
Y_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
S_x & 0 & 0\\
0 & S_y & 0 \\
0 & 0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
1\\
\end{pmatrix}

スクリーンショット 2024-12-15 1.18.40.png

回転(Rotate)

回転(θ)
\begin{pmatrix}
X_1\\
Y_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
cos(θ) & -sin(θ) & 0 \\
sin(θ) & cos(θ) & 0 \\
0 & 0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
1\\
\end{pmatrix}

スクリーンショット 2024-12-15 1.19.40.png

スクリーンショット 2024-12-15 1.19.55.png

剪断(Shear)

剪断(θ_x)
\begin{pmatrix}
X_1\\
Y_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
1 & tan(θ_x) & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
1\\
\end{pmatrix}
剪断(θ_y)
\begin{pmatrix}
X_1\\
Y_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
1 & 0 & 0 \\
tan(θ_y) & 1 & 0 \\
0 & 0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
1\\
\end{pmatrix}

スクリーンショット 2024-12-16 5.22.24.png

三次元アフィン変換

上掲の二次元アフィン変換の応用として規定されます。

\begin{pmatrix}
X_1\\
Y_1\\
Z_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
a & b & c & j\\
d & e & f & k\\
g & h & i & l \\
0 & 0 &0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
Z_0\\
1\\
\end{pmatrix}

並行移動(Parallel Movement)

並行移動(T_x,T_y,T_z)
\begin{pmatrix}
X_1\\
Y_1\\
Z_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
1 & 0 & 0 & T_x\\
0 & 1 & 0 & T_y\\
0 & 0 & 1 & T_z\\
0 & 0 &0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
Z_0\\
1\\
\end{pmatrix}

拡大縮小(Scaling)

拡大縮小(S_x,S_y,S_z)
\begin{pmatrix}
X_1\\
Y_1\\
Z_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
S_x & 0 & 0 & 0\\
0 & S_y & 0 & 0\\
0 & 0 & S_z & 0 \\
0 & 0 &0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
Z_0\\
1\\
\end{pmatrix}

回転(Rotate)

x軸まわりの回転(θ)\begin{pmatrix}
X_1\\
Y_1\\
Z_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
1 & 0 & 0 & 0\\
0 & cos(θ) & -sin(θ) & 0\\
0 & sin(θ) & cos(θ) & 0 \\
0 & 0 &0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
Z_0\\
1\\
\end{pmatrix}
y軸まわりの回転(θ)
\begin{pmatrix}
X_1\\
Y_1\\
Z_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
cos(θ) & 0  & sin(θ) & 0\\
0 & 1 & 0 & 0\\
-sin(θ) & 0& cos(θ) & 0 \\
0 & 0 &0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
Z_0\\
1\\
\end{pmatrix}
Z軸まわりの回転(θ)\begin{pmatrix}
X_1\\
Y_1\\
Z_1\\
1\\
\end{pmatrix}
=\begin{pmatrix}
cos(θ) & -sin(θ) & 0 & 0\\
sin(θ) & cos(θ) & 0 & 0 \\
0 & 0 & 1 & 0\\
0 & 0 &0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
X_0\\
Y_0\\
Z_0\\
1\\
\end{pmatrix}

回転を「一軸を固定した二次元回転」に分解してるのが特徴で、全軸の同次回転を考えたい場合には四元数(Quaternion)を用います。
【Token】ハミルトンの四元数(Hamilton's quaternion)

  • ベクトル$v=iv_x+jv_y+kv_z$を単位ベクトル$a=ia_x+ja_y+ka_z$を軸に角度θ回転させ、ベクトル$v'=iv'_x+jv'_y+kv'_z$に遷移させるものとする。この時、
v'=qv\bar{q}
q=\cos( \frac{θ}{2})+a\sin(\frac{θ}{2})
\bar{q}=\cos( \frac{θ}{2})-a\sin(\frac{θ}{2})

難易度が急激に上がるので現時点における用途は宇宙船やドローンの制御の様な「重力を無視して考えた方が都合がいい」場合に限られています。

そんな感じで以下続報…

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?