仿射变换(affine transformation)
发布时间
阅读量:
阅读量
仿射变换(affine transformation)
多面体编译(polyhedral compilation)会使用到仿射变换(affine transformation)的知识,这里介绍下仿射变换的数学原理。
线性变换:
对于变换 ff 是一个线性变换,则对于任意向量 w⃗\vec{w} 和 v⃗\vec{v} 满足:
- f(w⃗+v⃗)=f(w⃗)+f(v⃗)f(\vec{w}+\vec{v})=f(\vec{w})+f(\vec{v})
- f(kv⃗)=kf(v⃗)f(k\vec{v})=kf(\vec{v})
其中 kk 为标量。
例如,f(v⃗)=<3v1−2v2,4v2>f(\vec{v})=<3v_1-2v_2, 4v_2> 是一个线性变换,而 f(v⃗)=<3v1−2v2,4v1v2>f(\vec{v})=<3v_1-2v_2, 4v_1v_2> 则不是线性变换。
线性变换还可以写成一个矩阵乘以输入向量的形式。例如:f(v⃗)=<3v1−2v2,4v2>f(\vec{v})=<3v_1-2v_2, 4v_2> 可以写成:
v_2
仿射变换:
非正式地,一个仿射变换就是一个线性变换加一个常量。
正式地,一个仿射变换 ff 可以表示为:f(v⃗)=Mv⃗+c⃗f(\vec{v})=M\vec{v}+\vec{c}。其中,MM 是一个线性变换的矩阵,c⃗\vec{c} 是一个常量向量。
例如,下面这是一个仿射变换:
2
可见,线性变换肯定是一个仿射变换,而仿射变换只在其常量向量阵为零时才为线性变换。
全部评论 (0)
还没有任何评论哟~
