我们知道倾斜椭圆、倾斜正弦编写宏程序时,可以采用坐标旋转公式(可以参见我先前写的《技巧分享3:旋转椭圆》一节)。今天,我分享另一种编程思路——轨迹叠加法。
倾斜正弦曲线可以看成标准的正弦曲线沿倾斜直线段运动产生,所以此轨迹就可分解成倾斜直线段与正弦曲线两部分,因此,其轨迹也就是上述两轨迹的叠加效果。
直线的参数方程为:(可参见《技巧分享4:直线的参数方程》一节》
Xt=X1+L*cos(A)*t
Yt=Y1+L*sin(A)*t
正弦曲线方程为(比如:振幅为10,周期为4)
Xt=L*t
Yt=10*sin(4*360*t)
要让两者可以叠加,这里需要一些处理,这是关键。
即:对于正弦曲线,总角度为4*360度,若增角为2,则分成720份;
对于直线段,L长内也应分解成720段,每段则为 L/720;
这样,对于上述两曲线,就都有了同一控制增量【从0-720】
附程序如下,如感兴趣又不清楚具体细节者,可以关注我并加我微信。
读者也可练一练另一种坐标旋转法,看看是不是殊途同归。