MFC_箭头画法之向量旋转

本文详细介绍了二维坐标系中向量旋转的原理,通过三角函数推导出向量逆时针和顺时针旋转的公式,帮助理解向量在图形变换中的应用。

二维坐标系下的向量旋转:

                 (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


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值