前面一节,本人已讲述过椭圆方程有二,标准方程和参数方程。标准方程适用性广无局限性但运算不直观,参数方程运算直观但却有一定局限性,不符合条件的不能随意使用。
今天,本人讲讲椭圆经过旋转一定角度后该怎样编写宏程序,为了方便起见,举例为全椭圆采用参数方程,其余情况可以类推不多言,重点是讲述椭圆旋转前后的坐标数值的关系。
首先编写旋转椭圆的思路是:先按照常规椭圆编写计算。如采用标准方程则设某一轴为自变量,根据公式求出对应另一轴数值,比如铣床类为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]
好,现在验证其正确性:
好,此节结束。谢谢!