二维坐标系下的向量旋转:
(a) (b)
在二维坐标系中,向量的旋转公式可以由三角函数的几何意义推出。
比如上图所示是位置向量R逆时针旋转角度B前后的情况。
在(a)图中,假设向量的模长为R, 则可以推导出如下关系:
x0 = R * cosA
y0 = R * sinA
变换之后:
cosA = x0 / R
sinA = y0 / R
在(b)图中, 同理可以可证:
x1 = R * cos( A + B )
y1 = R * sin( A + B )
其中向量(x1, y1)为向量(x0, y0)逆时针旋转角度B后得到的点。
然后根据三角函数的表达式, 将cos(A+B)和sin(A+B)分解,得到
x1 = R * ( cosAcosB - sinAsinB )
y1 = R * ( sinAcosB + cosAsinB )
现在把
cosA = x0 / R
sinA = y0 / R
代入上面的式子,得到
x1 = R * (x0 * cosB / R - y0 * sinB / R)
y1 = R * (y0 * cosB / R + x0 * sinB / R)
整理:
x1 = x0 * cosB - y0 * sinB
y1 = x0 * sinB + y0 * cosB
这样我们就得到了向量围绕坐标原点的逆时针旋转公式。
同理可知:
顺时针旋转公式如下:
x1 = x0 * cos(-B) - y0 * sin(-B)
y1 = x0 * sin(-B) + y0 * cos(-B)
整理:
x1 = x0 * cosB + y0 * sinB
y1 = -x0 * sinB + y0 * cosB
本文详细介绍了二维坐标系中向量旋转的原理,通过三角函数推导出向量逆时针和顺时针旋转的公式,帮助理解向量在图形变换中的应用。

682

被折叠的 条评论
为什么被折叠?



