线性变换

什么是线性变换?

假设有一数学函数f,使得三维向量\vec v=(x,y,z),有f(\vec v) = f(x, y, z) = (x',y',z')。那么,如果f满足:

  1. f(\vec u + \vec v) = f(\vec u) + f(\vec v)
  2. f(k \vec v) = kf(\vec v)

那么,称f为线性变换。

线性变换的矩阵表示

\begin{align*} f(\vec v) &= f(x \vec i + y \vec j + z \vec k) \\ &= f(x \vec i) + f(y \vec j) + f(z \vec k) \\ &= xf(\vec i) + yf(\vec j) + zf(\vec k) \\ &= [x, y, z] \cdot \begin{bmatrix} f(\vec i) \\ f(\vec j) \\ f(\vec k) \end{bmatrix} \end{align*}

缩放变换

易知,缩放变换S(\vec v) = S(x, y, z) = (s_x x, s_y y, s_z z)。那么,我们尝试证明一下它是线性变换:
\begin{align*} S(\vec u + \vec v) &= S(u_x+v_x, u_y+v_y, u_z+v_z) \\ &= (s_x(u_x+v_x), s_y(u_y+v_y), s_z(u_z+v_z)) \\ &= (s_xu_x + s_xv_x, s_yu_y + s_yv_y, s_zu_z + s_zv_z) \\ &= (s_xu_x, s_yu_y, s_zu_z) + (s_xv_x, s_yv_y, s_zv_z) \\ &= S(\vec u) + S(\vec v) \end{align*}

\begin{align*} S(k\vec v) &= S(kv_x, kv_y, kv_z) \\ &= (ks_xv_x, ks_yv_y, ks_zv_z) \\ &= k(s_xv_x, s_yv_y, s_zv_z) \\ &= kS(\vec v) \end{align*}

综上,我们证明了缩放变换是线性变换。由之前线性变换的矩阵表示,我们可以推导缩放变换的矩阵表示为
\begin{bmatrix} S(\vec i) \\ S(\vec j) \\ S(\vec k) \end{bmatrix} = \begin{bmatrix} s_x & 0 & 0 \\ 0 & s_y & 0 \\ 0 & 0 & s_z \end{bmatrix}

旋转变换

我们定义旋转变换为将一个向量\vec v绕任意轴\vec n顺时针旋转\theta角度,如图所示:

线性变换1.png

由图可知,我们要求的就是将向量\vec v绕向量\vec n旋转\theta角度后得到的\vec v'。首先,我们注意到在旋转过程中,与旋转轴平行的向量是不参与旋转过程的,只有与旋转轴垂直的向量在真正旋转。因此可以将向量\vec v分解为与\vec n平行的向量\vec v_\parallel和垂直的向量\vec v_\perp。即:
\vec v = \vec v_\parallel + \vec v_\perp
那么
\vec v' = \vec v_\parallel + \vec v'_\perp
其中,平行向量\vec v_\parallel是向量\vec v在旋转轴\vec n上的投影。这里假定,旋转轴向量\vec n是归一化过的,即单位向量。由向量投影的定义,可得到
\vec v_\parallel = (\vec v \cdot \vec n) \vec n
进而可得
\vec v_\perp = \vec v - \vec v_\parallel = \vec v - (\vec v \cdot \vec n) \vec n
接下来,我们只要求得旋转后的\vec v'_\perp即可。注意到已知的\vec v_\perp,且这两个向量都位于同一个圆的旋转平面上,因此只要再得到一个垂直于\vec v_\perp的向量\vec w,且向量\vec w与这两个向量共面,就可以通过旋转角度\theta算出向量\vec v'_\perp了:
\vec v'_\perp = \vec v_\perp \cdot cos\theta + \vec w \cdot sin\theta
那么,怎样的\vec w是满足以上条件的呢?注意到向量的叉积的几何意义:两向量的叉积后得到的向量与这两个向量是垂直的。所以,我们令
\vec w = \frac{|\vec v_\perp|}{|\vec n \times \vec v|} \cdot (\vec n \times \vec v)
向量前面的系数是为了让向量的模与\vec v_\perp相等。这样就求出了满足条件的\vec w。特别地,由向量叉积的定义,可以将上式简化为
\vec w = \frac{|\vec v_\perp|}{|\vec n| |\vec v| sin\theta} \cdot \ (\vec n \times \vec v)
由图可知,|\vec v_\perp| = |\vec v| sin\theta,而向量\vec n是单位向量,所以得到:
\vec w = \vec n \times \vec v
综合以上若干等式,求出最终的\vec v'
\vec v' = (\vec v \cdot \vec n) \vec n + (\vec v - (\vec v \cdot \vec n) \vec n)cos\theta + (\vec n \times \vec v)sin\theta
回到线性变换的定义来,旋转变换R(\vec v) = R(x, y, z)。将其代入上式,可以得到
R(x,y,z) = (r_{11}x + r_{21}y + r_{31}z, r_{12}x + r_{22}y + r_{32}z, r_{13}x + r_{23}y + r_{33}z)
根据线性变换的定义,容易证明旋转变换是一种线性变换。那么,旋转变换的矩阵表示为:
\begin{bmatrix} R(\vec i) \\ R(\vec j) \\ R(\vec k) \end{bmatrix} = \begin{bmatrix} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{32} & r_{33} \end{bmatrix} = \begin{bmatrix} c + (1 - c)x^2 & (1-c)xy + sz & (1-c)xz - sy \\ (1-c)xy - sz & c+(1-c)y^2 & (1-c)yz + sx \\ (1-c)xz + sy & (1-c)yz - sx & c+(1-c)z^2 \end{bmatrix}
其中,c=cos\theta, s = sin\theta, x,y,z分别为向量\vec n的三个分量。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容