「数控宏程序应用」:坐标旋转公式的推导与应用---旋转椭圆

前面一节,本人已讲述过椭圆方程有二,标准方程和参数方程。标准方程适用性广无局限性但运算不直观,参数方程运算直观但却有一定局限性,不符合条件的不能随意使用。

今天,本人讲讲椭圆经过旋转一定角度后该怎样编写宏程序,为了方便起见,举例为全椭圆采用参数方程,其余情况可以类推不多言,重点是讲述椭圆旋转前后的坐标数值的关系。

首先编写旋转椭圆的思路是:先按照常规椭圆编写计算。如采用标准方程则设某一轴为自变量,根据公式求出对应另一轴数值,比如铣床类为X、Y两轴,车床类为X、Z两轴;如采用参数方程则角度为自变量,根据公式求出两轴数值;然后,再利用本节讲述的坐标旋转公式转换成旋转后对应坐标数值即可。

那么,坐标旋转公式如何而来,靠记当然不行,除非你天生强记。下面我就说说推导过程:

阐述之前,我先提出三角函数的和差化积公式:(此公式找到规律记忆很简单)

SIN[A+B]=SIN[A]*COS[B]+COS[A]*SIN[B]

(规律:正弦和,角度顺、正余余正)

COS[A+B]=COS[A]*COS[B]-SIN[A]*SIN[B]

(规律:余弦差,角度顺、余余正正)

由上图可知:(旋转后椭圆上P1'点)

X2=R*COS[A+B]=R*COS[A]*COS[B]-R*SIN[A]*SIN[B]

Y2=R*SIN[A+B]=R*SIN[A]*COS[B]+R*COS[A]*SIN[B]

又因:

X1=R*COS[A]

Y1=R*SIN[A]

两组公式整理后得:

X2=X1*COS[B]-Y1*SIN[B]

Y2=Y1*COS[B]+X1*SIN[B]

好,现在验证其正确性:

好,此节结束。谢谢!