贡献者: 欄、停敘; addis
在生活中,变换的概念随处可见。调整照片大小、改变音乐速度,甚至在地图应用中缩放或旋转视图,都与函数变换的原理密切相关。当函数改变形式时,函数的图像和性质也会发生相应变化,就像镜子里的影像随手势而动,这使得理解和处理函数时,可以采用更灵活的方式。
函数变换本质上是空间的变换,即函数的本质未变,改变的是空间。就像远去的汽车,从你的视角是汽车在远离,但从汽车的视角则是你在远去。尽管这与我们现实生活中的经验不太一样,毕竟我们想要移动一个画框在墙上的位置一般不会把整面墙移动走,但采用 “变换的本质是变换坐标系” 这个视角去看待函数的变换问题,不仅比较容易理解,而且在处理时也不用去记一些口诀,也更不容易出错。
高中涉及到的函数变换全部都是针对的是函数图象而言的,也称为几何变换(geometric transformation)。
函数图像的平移(Translation)变换是我们经常用到的一种操作。简单来说,就是将一个函数的图像按照某个方向进行移动,但不改变它的形状。尽管初中时就已经接触到了,或者说平时在生活中我们经常移动某个物品。为了更细致地理解这个过程,下面的内容可以拿两张纸自己比划一下试试,这个例子尽管简单,但对后面的其他变换的理解有好处。
同理,如果想要向左、上、下平移函数图像,就需要把坐标系向右、下、上移动。如果要斜着移动,可以把移动的过程拆解成先水平方向移动,再垂直方向移动,也就是移动两次。
理解了 “图像与坐标系相对移动” 的关系后,接下来看看如何在函数表达式上反映出这种平移变换。
推荐你自己试一试,根据相同的方法可以得到其他情况下函数平移的表达式描述:
很多人会称上面的变换规律为 “左加右减,上加下减”,这句话是在函数视角下的描述。一般情况下看似没有问题,但涉及到与伸缩及旋转等复合时,便可能引起错误。在坐标系视角下,应为 “左加右减,下加上减”,水平方向上,对 $x$ 进行操作,而垂直方向上,则对 $y$ 进行操作。当然,如果掌握原理,随时可以列出变化前后的关系,然后再代入到表达式中推导。
同时,可以观察到,如果认为 $c$ 或 $b$ 可以取负值,那么取负值时则意味着相反方向平移绝对值单位长度,这也与学习负数时的概念一致。
在了解了平移变换之后,伸缩(Scaling)变换的推导就信手拈来了。
以 “把函数的图像在 $y$ 方向拉伸 $A(A>1)$ 倍” 为例,这意味着每个点的 $y$ 值都要扩大 $A$ 倍。如果平移对应的是原点的变化,这里则意味着原来 $1$ 单位的长度,变化为 $A$ 个单位长度。
也就是这时有关系:
将 $X_0$ 和 $Y_0$ 的表达式带入平移后的关系式中,可以得到 $\displaystyle{Y_1\over A} = f(X_1 )$,即:
根据相同的方法可以得到其他情况下函数伸缩的表达式描述,这里请忽略 “压缩 $A$ 倍” 之类的语病,事实上一般会表述为压缩为 $\displaystyle{1\over A}(A>1)$,需要在实际使用时区分:
与平移类似,可以观察到,如果认为 $A$ 或 $B$ 为任意正数,那么取倒数时则意味着伸缩关系的互换,即拉伸 $A$ 倍意味着压缩 $\displaystyle 1\over A$ 倍。这也与学习倒数时的概念一致。也可记为 “拉乘压除”。
需要注意,与平移不同的是,伸缩变换前后,原本在 $y$ 方向上距离为 $d$ 的两个点,现在会变为 $Ad$。也就是说,伸缩前后两个点的距离会变化。平移和伸缩,就像初中证明时全等与相似的关系。
下面在使用三角恒等式时,可以作为已知条件来理解,如果觉得难以理解也可以先跳过这部分内容。这部分内容本身也不是高中学习要求的,但难度不高,建议学习1。
其实有了之前的经验,求解旋转(Rotation)变换的操作仍然是一样的,表示出原本的点和变换后的点的关系,然后代入就可以了。下面研究绕原点旋转的变换,此时保持不变的是平面上所有点到原点的距离。
假设 $(X_0,Y_0)$ 和 $(X_1,Y_1)$ 分别代表原坐标系和变换后坐标系上的某一点。由于变换的前后,点到原点的距离相同,于是都设为 $r$。假设 $(X_0,Y_0)$ 和 $(X_1,Y_1)$ 都在第一象限,这样假设只是为了方便画图,事实上根据三角函数的性质,在任何象限都可以。
假设逆时针旋转 $\theta$ 角,而 $(X_0,Y_0)$ 与 $x$ 轴的夹角为 $\alpha$,于是有2:
这里需要使用三角恒等式:
直接代入原本的函数表达式,会得到:
可以注意到,右侧的 $f$ 内部出现了 $y$,这和习惯的函数表达式不太相同。事实上,除了单调函数可能在小角度旋转后保持仍是函数,根据这个表达式,一般而言函数在旋转后都不再是函数。因此,一般也不会写成这样的表达式,而是在解析几何的范畴内直接利用前面的关系做代换,再解出 $x,y$。
就像复合函数可以多个函数一层层复合一样,这些变换也可以依次加在同一个函数上,最终会得到一个新的表达式。在处理时,如果不太熟悉可以把每一步独立考虑,最后再整理就可以了。唯一需要注意的点,是在每一步的时候都注意是对已经完成的结果进行变换,而非在最开始的变量上进行变换。下面试一试。
通过复合变换,可以得到一些复杂的变换。比如如果不绕原点进行,需要先平移,将旋转中心平移到原点处,再旋转,再将旋转中心平移回来。
上面接触了平移、缩放、旋转三种几何变换。其实根据它们各自的特点,有一个统一的分类方式。
旋转和平移统称为欧式变换(Euclidean Transformation,或刚体变换,Rigid Transformation),它是一种保持几何对象的形状和大小的变换,也就是点之间的距离和角度都保持不变。在欧式变换的基础上再加上伸缩,称为相似变换(Similarity Transformation)。相似变换只保持角度保持不变,而距离可以成比例变化。也就是保留了图形比例关系,因此也认为它保留了物体的形状。在代数的视角,相似变换包含的这三类统称为线性变换(Liner Transformation)3。
另外,高中不太会接触到的仿射变换(Affine Transformation)保留了直线的性质和平行的关系,但角度和长度不再保持不变;射影变换(Projective Transformation)则只保留了直线的性质,甚至允许平行线在变换后不再平行。每一类变换都是对前一类的扩展,加入了更多的几何操作自由度。射影变换是最广泛的,允许最自由的变换4;欧式变换则是最保守的,严格保持几何形状和大小。
下面给出一些生活中这些变换的实例,方便你理解,注意由于前面的变换本质上都是后面变换的特例,因此后面的每一项都只会给出前面一项不包含的例子:
当然,既然称作几何变换,事实上哪怕不符合函数定义的几何图形,即在解析几何的领域,也都是可以进行上述变换的。
其实函数的变换包含的范畴非常广泛:除了上面提到的用于分析和操作几何图形及其在空间中的关系的几何变换;频域分析方面,傅里叶变换、拉普拉斯变换、Z 变换等变换可以将问题从时域转换到频域,从而揭示出信号和系统中隐藏的特征。当然现在主要先研究高中涉及的部分;学有余力的话,也可以了解几何变换的其他部分,这对理解解析几何的内容会很有帮助;而频域分析的部分在大学阶段才可能会接触到。
1. ^ 想进一步了解可以参考平面旋转变换。
2. ^ 这实际上是点的极坐标表示,但即使没学过,仍然可写出。
3. ^ 之所以这么称呼是因为它们符合线性变换的定义要求,但这在高中阶段完全不接触。
4. ^ 本文的所有几何变换都是在线性变换的前提下进行讨论的。而射影变换就是最一般的线性变换。