本文主要是介绍复数与二维空间旋转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引言
⚠️ 本文充斥了大量的数学,但是不用担心,已发给高中生表弟,他表示能看懂。
看完就能理解为什么在复平面中乘 i i i相当于逆时针旋转90°。
复数概念
简介
复数被称为是数字之王,可能是因为它们可以解决普通实数不能解决的问题。比如对于以下看起来无解的方程:
1 + x 2 = 0 1 + x^2 = 0 1+x2=0
确实没有实数解,这会得到:
x = − 1 x = \sqrt{-1} x=−1
然而,这并没有阻止数学家们找到一种解决这种不便的方法,而幸运的是,这个解决方案是一个令人难以置信的想法,它被广泛应用于从电气工程到宇宙学的各个领域。简单的想法就是声明 i i i的存在,使得 i 2 = − 1 i^2=-1 i2=−1,允许我们表达上述等式的解:
x = ± i x = \pm i x=±i
i i i我们可以理解为就是一个简单的数学对象,它的平方是 − 1 -1 −1。
复数
定义
复数由两个部分组成:实部(real part)和虚部(imaginary part)。实部就是一个普通的数字,可以是零、正数或负数。虚部是另一个实数与 i i i相乘。比如 2 + 3 i 2+3i 2+3i是一个复数,其中 2 2 2是实部; 3 i 3i 3i是虚部。下面这些数字都是复数:
2 , 2 + 2 i , 1 − 3 i , − 4 i , 17 i 2, \quad 2+2i,\quad 1-3i,\quad -4i,\quad 17i 2,2+2i,1−3i,−4i,17i
可以看到复数是实数的扩展,包含了实数,比如 2 2 2可以看成是虚部为 0 0 0。
通常实数放前面,然后是 i i i。但当 i i i与三角函数( sin , cos \sin,\cos sin,cos)在一起通常把 i i i放在前面: i sin θ , i cos θ i \sin \theta, i\cos \theta isinθ,icosθ。
公理
复数的公理和实数一样,比如,给定任意复数 z 1 z_1 z1, z 2 z_2 z2和 z 3 z_3 z3满足:
- 加法交换律: z 1 + z 2 = z 2 + z 1 z_1 +z_2 = z_2+z_1 z1+z2=z2+z1
- 加法结合律: ( z 1 + z 2 ) + z 3 = z 1 + ( z 2 + z 3 ) (z_1+z_2)+z_3 = z_1 +(z_2+z_3) (z1+z2)+z3=z1+(z2+z3)
- 乘法交换律: z 1 z 2 = z 2 z 1 z_1z_2=z_2z_1 z1z2=z2z1
- 乘法结合律: ( z 1 z 2 ) z 3 = z 1 ( z 2 z 3 ) (z_1z_2)z_3=z_1(z_2z_3) (z1z2)z3=z1(z2z3)
- 乘法分配律: z 1 ( z 2 + z 3 ) = z 1 z 1 + z 1 z 3 ( z 1 + z 2 ) z 3 = z 1 z 3 + z 2 z 3 z_1(z_2+z_3) = z_1z_1 + z_1z_3 \qquad (z_1+z_2)z_3 = z_1z_3+z_2z_3 z1(z2+z3)=z1z1+z1z3(z1+z2)z3=z1z3+z2z3
复数的模
复数 a + b i a+bi a+bi的模定义为 a 2 + b 2 \sqrt{a^2+b^2} a2+b2。比如 3 + 4 i 3+4i 3+4i的模是 5 5 5,复数 z z z的模写成 ∣ z ∣ |z| ∣z∣:
z = a + b i ∣ z ∣ = a 2 + b 2 (1) z = a + bi\\ |z| = \sqrt{a^2+b^2} \tag 1 z=a+bi∣z∣=a2+b2(1)
加减法
给定两个复数:
z 1 = a + b i z 2 = c + d i z 1 ± z 2 = ( a ± c ) + ( b ± d ) i (2) z_1 = a + bi\\ z_2= c+di\\ z_1 \pm z_2 = (a \pm c) + (b \pm d)i \tag 2 z1=a+biz2=c+diz1±z2=(a±c)+(b±d)i(2)
即实部和虚部分别相加减。
标量乘法
复数 a + b i a+bi a+bi与标量 λ \lambda λ相乘:
λ ( a + b i ) = λ a + λ b i (3) \lambda (a+bi) = \lambda a + \lambda b i \tag 3 λ(a+bi)=λa+λbi(3)
比如:
2 ( 3 + 5 i ) = 6 + 10 i 2(3+5i)=6+10i 2(3+5i)=6+10i
两个复数的乘法
两个复数的乘积就是各项分别相乘并相加:
z 1 = a + b i z 2 = c + d i z 1 z 2 = ( a + b i ) ( c + d i ) = a c + a d i + b c i + b d i 2 = ( a c − d b ) + ( a d + b c ) i (4) \begin{aligned} z_1 &= a+bi\\ z_2 &= c + di\\ z_1z_2 &= (a+bi)(c+di) \\ &= ac + adi + bci + bdi^2 \\ &= (ac-db) +(ad+bc)i \end{aligned} \tag 4 z1z2z1z2=a+bi=c+di=(a+bi)(c+di)=ac+adi+bci+bdi2=(ac−db)+(ad+bc)i(4)
得到另一个复数。注意我们看到 i 2 i^2 i2就用 − 1 -1 −1代替。
共轭复数
两个复数相乘存在一种特殊情况,它们之间唯一的区别是虚部的符号:
( a + b i ) ( a − b i ) = a 2 − a b i + a b i − b 2 i 2 = a 2 + b 2 (5) (a+bi)(a-bi)= a^2 -abi + abi -b^2i^2 = a^2 + b^2 \tag 5 (a+bi)(a−bi)=a2−abi+abi−b2i2=a2+b2(5)
这个结果很有趣, a − b i a-bi a−bi称为 a + b i a+bi a+bi的共轭复数(complex conjugate)。通常,
z = a + b i z = a+bi z=a+bi
的共轭复数写成 z ˉ \bar z zˉ或 z ∗ z^* z∗:
z ˉ = a − b i (6) \bar z = a - bi \tag 6 zˉ=a−bi(6)
并且可以得到:
z z ˉ = a 2 + b 2 = ∣ z ∣ 2 (7) z \bar z = a^2 +b^2 = |z|^2 \tag 7 zzˉ=a2+b2=∣z∣2(7)
两个复数的除法
共轭复数为我们提供了一种计算复数除法的机制,比如,考虑
a + b i c + d i \frac{a+bi}{c+di} c+dia+bi
可以通过分子分母同乘分母的共轭复数 c − d i c-di c−di使其变成实数分母:
a + b i c + d i = ( a + b i ) ( c − d i ) ( c + d i ) ( c − d i ) = a c − a d i + b c i − b d i 2 c 2 + d 2 = ( a c + b d c 2 + d 2 ) + ( b c − a d c 2 + d 2 ) i (8) \begin{aligned} \frac{a+bi}{c+di} &= \frac{(a+bi)(c-di)}{(c+di)(c-di)} \\ &= \frac{ac -adi + bci - bdi^2}{c^2 +d^2} \\ &= \left(\frac{ac+bd}{c^2 +d^2}\right) + \left(\frac{bc-ad}{c^2 +d^2}\right)i \end{aligned} \tag 8 c+dia+bi=(c+di)(c−di)(a+bi)(c−di)=c2+d2ac−adi+bci−bdi2=(c2+d2ac+bd)+(c2+d2bc−ad)i(8)
另一种特殊情况是 a = 1 , b = 0 a=1,b=0 a=1,b=0:
1 c + d i = ( c + d i ) − 1 = ( c c 2 + d 2 ) − ( d c 2 + d 2 ) i (9) \frac{1}{c+di} =(c+di)^{-1} = \left(\frac{c}{c^2 +d^2}\right) - \left(\frac{d}{c^2 +d^2}\right)i \tag 9 c+di1=(c+di)−1=(c2+d2c)−(c2+d2d)i(9)
这是一个复数的倒数。
复数的倒数
尽管我们已经发现了复数的倒数,但让我们采用另一种策略,声明
z 1 = 1 z z_1 = \frac{1}{z} z1=z1
其中 z z z是复数。
现在我们两边同除 z z z的共轭复数得到:
z 1 z ˉ = 1 z z ˉ \frac{z_1}{\bar z} = \frac{1}{z \bar z} zˉz1=zzˉ1
前面我们知道 z z ˉ = ∣ z ∣ 2 z\bar z=|z|^2 zzˉ=∣z∣2,因此:
z 1 z ˉ = 1 ∣ z ∣ 2 \frac{z_1}{\bar z} = \frac{1}{|z|^2} zˉz1=∣z∣21
变形后:
z 1 = z ˉ ∣ z ∣ 2 z_1 = \frac{\bar z}{|z|^2} z1=∣z∣2zˉ
通常
1 z = z − 1 = z ˉ ∣ z ∣ 2 (10) \frac{1}{z} = z^{-1} = \frac{\bar z}{|z|^2} \tag{10} z1=z−1=∣z∣2zˉ(10)
即我们可以通过上面的公式很快地计算出复数的倒数。
下面就到了有趣的部分了。
复平面
数学家欧拉在将复数引入数学领域中起到了重要作用。他关于旋转的理论也被应用于计算机图形学中。
考虑图2.1(来自参考1)描述的场景,在数轴上,任意一个数与其相反数之间可以通过180°的旋转相互关联。例如,当 2 2 2绕着原点旋转180°时,它变成了 − 2 -2 −2,当 − 3 -3 −3绕着原点旋转180°时,它变成了 3 3 3。
但我们知道 i 2 = − 1 i^2=-1 i2=−1,我们可以写出:
− n = i 2 n -n = i^2n −n=i2n
如果我们把乘 i 2 i^2 i2看成是绕原点旋转 180°,那乘 i i i就是90°。没理解没关系,下面会证明。
图2.2(来自参考1)展示了如何使用复平面将复数解释为二维坐标,其中实部位于横轴,虚部位于纵轴。图中还展示了四个复数,它们表示4个长度(模)相等的向量:
p = 1 + 2 i , q = − 2 + i , r = − 1 − 2 i , s = 2 − i p = 1 + 2i,\quad q=-2+i,\quad r=-1 -2i,\quad s=2-i p=1+2i,q=−2+i,r=−1−2i,s=2−i
它们依次为逆时针旋转90°(乘 i i i得到)的关系,比如:
- 对 p p p旋转90°: i ( 1 + 2 i ) = i + 2 i 2 = − 2 + i = q i(1+2i)= i + 2i^2 = -2 + i = q i(1+2i)=i+2i2=−2+i=q
- 对 q q q旋转90°: i ( − 2 + i ) = − 2 i + i 2 = − 1 − 2 i = r i(-2+i)=-2i+i^2=-1 - 2i = r i(−2+i)=−2i+i2=−1−2i=r
- 对 r r r旋转90°: i ( − 1 − 2 i ) = − i − 2 i 2 = 2 − i = s i(-1-2i)=-i-2i^2=2-i=s i(−1−2i)=−i−2i2=2−i=s
- 对 s s s旋转90°: i ( 2 − i ) = 2 i − i 2 = 1 + 2 i = q i(2-i)=2i-i^2=1+2i=q i(2−i)=2i−i2=1+2i=q
我们发现,对一个复数旋转90°,只需要乘 i i i即可。
极坐标表示
极坐标系是一个二维坐标系统。该坐标系统中任意位置可由一个夹角和一段相对原点——极点的距离来表示。如上图(来自百度百科)所示。
复平面提供了一种简单的机制来以图形方式表示复数。这反过来使得我们可以使用极坐标表示,如图2.3所示,其中我们可以看到复数 z = a + b i z = a + bi z=a+bi代表了有向线段 r r r。线段 r r r的长度显然是 a 2 + b 2 \sqrt {a^2 + b^2} a2+b2,这就是为什么复数的模具有相同的定义。
我们可以从图2.3(来自参考1)中看到,复数 z z z的水平分量 a = r cos θ a = r \cos θ a=rcosθ,垂直分量 b = r sin θ b = r \sin θ b=rsinθ,这使我们能够写成:
z = a + b i = r cos θ + r i sin θ = r ( cos θ + i sin θ ) (11) \begin{aligned} z &= a + bi\\ &= r \cos \theta + r i\sin \theta \\ &= r(\cos \theta + i \sin \theta) \end{aligned} \tag{11} z=a+bi=rcosθ+risinθ=r(cosθ+isinθ)(11)
注意 i i i位于 sin \sin sin函数前面。
线段 r r r和实数轴之间的夹角 θ \theta θ称为幅角(argument),写成 arg ( z ) \arg(z) arg(z),这里
arg ( z ) = θ (12) \arg(z) = \theta \tag{12} arg(z)=θ(12)
根据欧拉公式(欧拉再次出现了!欧拉公式本文就不证明了,网上常见的通过泰勒展开/求导等方法证明其实并不严谨,因为复数领域中的泰勒展开、求导均需要用到欧拉公式):
e i θ = cos θ + i sin θ (13) e^{i\theta} = \cos \theta + i \sin \theta \tag{13} eiθ=cosθ+isinθ(13)
其中 e e e是自然对数的底数; θ \theta θ可以是任意实数。当 θ = π \theta=\pi θ=π时,得到欧拉恒等式 e i π + 1 = 0 e^{i\pi} + 1 =0 eiπ+1=0。
公式(11)可以写成:
z = r e i θ (14) z = r e^{i\theta} \tag{14} z=reiθ(14)
现在我们可以使用极坐标表示重新审视两个复数的乘法和除法:
z = r ( cos θ + i sin θ ) w = s ( cos ϕ + i sin ϕ ) z w = r s ( cos θ + i sin θ ) ( cos ϕ + i sin ϕ ) = r s ( cos θ cos ϕ + i cos θ sin ϕ + i sin θ cos ϕ + i 2 sin θ sin ϕ ) = r s ( ( cos θ cos ϕ − sin θ sin ϕ ) + i ( sin θ cos ϕ + cos θ sin ϕ ) ) \begin{aligned} z &= r(\cos \theta + i \sin \theta) \\ w &= s(\cos \phi + i\sin \phi) \\ zw &= rs(\cos \theta + i \sin \theta) (\cos \phi + i\sin \phi) \\ &= rs(\cos \theta \cos \phi + i\cos \theta \sin \phi + i \sin \theta\cos \phi + i^2 \sin \theta \sin \phi) \\ &= rs\left((\cos \theta \cos \phi - \sin \theta \sin \phi ) + i( \sin \theta\cos \phi + \cos \theta \sin \phi ) \right) \end{aligned} zwzw=r(cosθ+isinθ)=s(cosϕ+isinϕ)=rs(cosθ+isinθ)(cosϕ+isinϕ)=rs(cosθcosϕ+icosθsinϕ+isinθcosϕ+i2sinθsinϕ)=rs((cosθcosϕ−sinθsinϕ)+i(sinθcosϕ+cosθsinϕ))
且又
cos ( θ + ϕ ) = cos θ cos ϕ − sin θ sin ϕ sin ( θ + ϕ ) = sin θ cos ϕ + cos θ sin ϕ \cos(\theta + \phi) = \cos \theta \cos \phi - \sin \theta \sin \phi \\ \sin(\theta+ \phi) = \sin \theta \cos \phi + \cos \theta \sin \phi cos(θ+ϕ)=cosθcosϕ−sinθsinϕsin(θ+ϕ)=sinθcosϕ+cosθsinϕ
得到
z w = r s ( cos ( θ + ϕ ) + i sin ( θ + ϕ ) ) = r s e i ( θ + ϕ ) (15) zw = rs(\cos(\theta + \phi) + i\sin(\theta + \phi)) =rse ^{i(\theta + \phi)}\tag {15} zw=rs(cos(θ+ϕ)+isin(θ+ϕ))=rsei(θ+ϕ)(15)
所以两个复数的乘法得到另一个复数,且模为
∣ z w ∣ = r s |zw| = rs ∣zw∣=rs
幅角
arg ( z w ) = arg ( z ) + arg ( w ) = θ + ϕ (16) \arg(zw) = \arg(z) + \arg(w) = \theta + \phi \tag {16} arg(zw)=arg(z)+arg(w)=θ+ϕ(16)
这一点很有意思,我们通过一个例子来理解,图2.4(来自参考1)画出了两个复数和它们的乘积:
z = 1 + i , w = 2 i z = 1 + i,\quad w= 2i z=1+i,w=2i
可以看到:
∣ z ∣ = 2 , arg ( z ) = 45 ° ∣ w ∣ = 2 , arg ( w ) = 90 ° ∣ z w ∣ = 2 2 , arg ( z w ) = 135 ° |z| = \sqrt 2, \quad \arg(z) = 45°\\ |w| = 2, \quad \arg(w) = 90°\\ |zw| =2 \sqrt 2, \quad \arg(zw) =135°\\ ∣z∣=2,arg(z)=45°∣w∣=2,arg(w)=90°∣zw∣=22,arg(zw)=135°
于是,复数相乘,可以带来缩放(改变模长)和旋转(改变幅角)!
再次提醒,实数也属于复数。所以对于实数与复数的乘法也成立!
旋转子
从公式(15)我们知道,将一个模为 1 1 1的复数与另一个复数相乘不会引起缩放。
例如,将 3 + 4 i 3 + 4i 3+4i乘 1 + 0 i 1 + 0i 1+0i会得到同样的复数,没有缩放和旋转。而,将 3 + 4 i 3 + 4i 3+4i乘 0 + i 0 + i 0+i会使其旋转90°,但不会引起缩放。
所以为了将复数 2 + 2 i 2+2i 2+2i旋转45°,我们让其与复数(这里 π 4 = 4 5 ∘ \frac{\pi}{4}=45^\circ 4π=45∘):
cos 4 5 ∘ + i sin 4 5 ∘ = 2 2 + 2 2 i \cos 45^\circ + i\sin 45 ^\circ = \frac{\sqrt 2}{2} + \frac{\sqrt 2}{2} i cos45∘+isin45∘=22+22i
相乘,从而产生旋转45°的效果,因为 ( 2 2 ) 2 + ( 2 2 ) 2 = 1 (\frac{\sqrt 2}{2})^2 +(\frac{\sqrt 2}{2})^2 = 1 (22)2+(22)2=1。
那么有
( 2 2 + 2 2 i ) ( 2 + 2 i ) = 2 + 2 i + 2 i + 2 i 2 = 2 2 i \left ( \frac{\sqrt 2}{2} + \frac{\sqrt 2}{2} i\right) (2+2i) = \sqrt 2 + \sqrt 2i + \sqrt 2i + \sqrt 2i^2 = 2\sqrt 2i (22+22i)(2+2i)=2+2i+2i+2i2=22i
这样的模为 1 1 1的复数就称为旋转子(rotor),有了旋转子就可以将复数旋转任意角度。
一般而言,将复数旋转角度 θ \theta θ的旋转子定义为:
R θ = cos θ + i sin θ ( sin 2 θ + cos 2 θ = 1 ) (17) \pmb R_\theta = \cos \theta + i \sin \theta \qquad(\sin^2 \theta + \cos^2 \theta = 1) \tag{17} Rθ=cosθ+isinθ(sin2θ+cos2θ=1)(17)
现在让我们来考虑将 3 + 3 i 3 + 3i 3+3i绕着 2 + 2 i 2 + 2i 2+2i旋转45°的问题,如图2.5(来自参考1)所示。从图中可以看出,结果是 z ≈ 2 + 3.414 i z ≈ 2 + 3.414i z≈2+3.414i。
但我们可以通过另一种方法计算:通过从 3 + 3 i 3 + 3i 3+3i中减去 2 + 2 i 2 + 2i 2+2i将操作变成基于原点,然后将结果乘 2 / 2 + 2 / 2 i \sqrt 2/2 + \sqrt 2/2i 2/2+2/2i,最后再加上 2 + 2 i 2 + 2i 2+2i:
z = ( 2 2 + 2 2 i ) ( ( 3 + 3 i ) − ( 2 + 2 i ) ) + 2 + 2 i = ( 2 2 + 2 2 i ) ( 1 + i ) + 2 + 2 i = 2 2 + 2 2 i + 2 2 i − 2 2 + 2 + 2 i = 2 + ( 2 + 2 ) i ≈ 2 + 3.414 i \begin{aligned} z &= \left ( \frac{\sqrt 2}{2} + \frac{\sqrt 2}{2} i\right)((3+3i) - (2+2i)) + 2 + 2i \\ &= \left ( \frac{\sqrt 2}{2} + \frac{\sqrt 2}{2} i\right)(1+i) + 2 + 2i \\ &= \frac{\sqrt 2}{2} + \frac{\sqrt 2}{2}i + \frac{\sqrt 2}{2}i - \frac{\sqrt 2}{2} + 2 +2i \\ &= 2 + (2+ \sqrt 2)i \\ &\approx 2 +3.414i \end{aligned} z=(22+22i)((3+3i)−(2+2i))+2+2i=(22+22i)(1+i)+2+2i=22+22i+22i−22+2+2i=2+(2+2)i≈2+3.414i
也是对的。
因此,要将任意点 ( x , y ) (x,y) (x,y)旋转 θ \theta θ角,我们将其转换为复数 x + y i x + yi x+yi,并乘上旋转子 cos θ + i sin θ \cosθ + i \sinθ cosθ+isinθ:
x ′ + y ′ i = ( cos θ + i sin θ ) ( x + y i ) = ( x cos θ − y sin θ ) + ( x sin θ + y cos θ ) i (18) \begin{aligned} x^\prime + y^\prime i &= (\cos \theta + i\sin \theta)(x + yi) \\ &= (x \cos \theta - y \sin \theta)+(x \sin \theta + y \cos \theta)i \end{aligned} \tag{18} x′+y′i=(cosθ+isinθ)(x+yi)=(xcosθ−ysinθ)+(xsinθ+ycosθ)i(18)
其中 ( x ′ , y ′ ) (x^\prime,y^\prime) (x′,y′)是旋转后的点: ( x cos θ − y sin θ , x sin θ + y cos θ ) (x \cos \theta - y \sin \theta, x \sin \theta + y \cos \theta) (xcosθ−ysinθ,xsinθ+ycosθ)。
这里用到了将二维向量当成复数,利用复数的性质进行运算,然后再变回二维向量的思想。
这对应二维平面中点 ( x , y ) (x,y) (x,y)关于原点的逆时针旋转:
[ x ′ y ′ ] = [ cos θ − sin θ sin θ cos θ ] [ x y ] (19) \begin{bmatrix} x^\prime \\ y^\prime \end{bmatrix} = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} \tag {19} [x′y′]=[cosθsinθ−sinθcosθ][xy](19)
左乘该矩阵,对右边的二维向量 [ x y ] T [x \, y]^T [xy]T进行了旋转变换,旋转成 [ x ′ y ′ ] T [x^\prime \, y^\prime]^T [x′y′]T,这个旋转变换与左乘旋转子是等价的。
在继续之前,我们来考虑旋转子的共轭对旋转方向的影响,我们可以通过将 x + y i x + yi x+yi乘旋转子 cos θ − i sin θ \cosθ - i \sinθ cosθ−isinθ来实现:
x ′ + y ′ i = ( cos θ − i sin θ ) ( x + y i ) = ( x cos θ + y sin θ ) − ( x sin θ + y cos θ ) i (20) \begin{aligned} x^\prime + y^\prime i &= (\cos \theta - i\sin \theta)(x + yi) \\ &= (x \cos \theta + y \sin \theta)-(x \sin \theta + y \cos \theta)i \end{aligned} \tag{20} x′+y′i=(cosθ−isinθ)(x+yi)=(xcosθ+ysinθ)−(xsinθ+ycosθ)i(20)
它的矩阵形式为
[ x ′ y ′ ] = [ cos θ sin θ − sin θ cos θ ] [ x y ] (21) \begin{bmatrix} x^\prime \\ y^\prime \end{bmatrix} = \begin{bmatrix} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} \tag {21} [x′y′]=[cosθ−sinθsinθcosθ][xy](21)
相当于旋转了 − θ -\theta −θ角度。
因此,我们可以定义旋转子 R θ \pmb R_\theta Rθ和其共轭形式 R θ † \pmb { R}^†_\theta Rθ†为
R θ = cos θ + i sin θ R θ † = cos θ − i sin θ (22) \pmb R_\theta = \cos \theta + i\sin \theta \\ \pmb { R}^†_\theta = \cos \theta -i \sin \theta \tag {22} Rθ=cosθ+isinθRθ†=cosθ−isinθ(22)
这里 R θ \pmb R_\theta Rθ旋转了 + θ +\theta +θ,而 R θ † \pmb { R}^†_\theta Rθ†旋转了 − θ -\theta −θ。
同理下面这个矩阵作用在一个向量 ( x , y ) (x,y) (x,y)上,就会得到逆时针旋转 θ \theta θ后的向量 ( x ′ , y ′ ) (x^\prime,y^\prime) (x′,y′):
[ cos θ − sin θ sin θ cos θ ] \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} [cosθsinθ−sinθcosθ]
该矩阵也被称为旋转矩阵。
参考
- Rotation Transforms for Computer Graphics by John Vince
这篇关于复数与二维空间旋转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!