图形界面中旋转问题初探

在高中解析几何中学习到的几何知识应用到编程中,直角坐标系是和应用程序图画界面的高、宽平行的。如果二维平面直角坐标系有四个象限,计算机的图形界面编程都使用默认的第四象限。

旋转
图1 旋转

上图可以看成直角坐标系AOB (蓝色直角)逆时针旋转{\color{Red} \angle}DOB后形成直角坐标系COD(红色直角),yExO、y'Ex'O为矩形。

显然Ey'\perpCO、Ex'\perpOD。

\color{Red}\angleEOD=\color{Red}\angleEOB-\color{Red}\angleDOB    (式1)

直角坐标系AOB (蓝色直角)中

x=OE \times cos\angleEOB           (式2)

y=OE \times sin\angleEOB            (式3)

 

\angleEOD和\angleEOB相差的角度就是直角坐标系AOB (蓝色直角)直角坐标系COD(红色直角)相差的角度。也可看成线段OB逆时针旋转到OD的角度。

\thereforey'Ex'O为矩形 \RightarrowEOx'为直角三角形

 

直角坐标系COD(红色直角)中

x'=OE \times cos\angleEOD              (式4)

y'=OE \times sin\angleEOD               (式5)

也可表示为

x'=OE \times cos(\angleEOB-\angleDOB) (式6)

y'=OE \times sin(\angleEOB-\angleDOB)  (式7)

 

式6和式7可以进行展开。

x'=OE \times cos(\angleEOB-\angleDOB) = OEcos\color{Red}\angleEOBcos\angleDOB + OEsin\color{Red}\angleEOBsin\angleDOB    (式8)

y'=OE \times sin(\angleEOB-\angleDOB)  =OEsin\angleEOBcos\angleDOB -  OEcos\color{Red}\angleEOBsin\angleDOB     (式9)

已知式2、式3

 

(式2)    x=OE \times cos\angleEOB           

(式3)    y=OE \times sin\angleEOB           

 

代入式8、式9

x'=xcos\angleDOB  + ysin\angleDOB

y'=ycos\angleDOB -   xsin\angleDOB 

 

备注:

\because cos(\alpha -\beta )=cos\alpha cos\beta + sin\alpha sin\beta

sin(\alpha -\beta ) = cos(\frac{\pi }{2}-(\alpha - \beta )) \\ \Rightarrow cos((\frac{\pi }{2} - \alpha ) + \beta ) \\ \Rightarrow cos(\frac{\pi }{2} - \alpha )cos\beta - sin(\frac{\pi }{2}-\alpha )sin\beta \\ \Rightarrow sin\alpha cos\beta -cos\alpha sin\beta \\ \\\therefore sin(\alpha -\beta )=sin\alpha cos\beta -cos\alpha sin\beta

 

参考:

[1] 图形变换之旋转变换公式推导

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值