在flex中模拟手动画一个圆,(这个圆的生成过程跟我们用手画一样,会一点一点形成),你会怎么做?
首先要解决的就是这个圆怎么画,然后怎么样手动把它模拟出来。
当然flex中提供了画圆的函数(在这个模拟画圆的过程中可能用到也可以不用)
模拟手动画圆这个圆怎么画
1. 圆是怎么形成的?
圆可以看成是有无数个点组成;推而广之或者无数条小线段组成,或者可以看成是无数个圆组成,或者无数个多边形组成,或 者无数个任意的图形组成 。 这些无数的图形遍布在圆周上。有了这个理论我们知道圆是怎么来的了,圆是怎么形成的了,有了一个基本的概念;但是光知道这些我们还是无法在计算机里面模拟出这个圆。
2. 画出圆
上面介绍了怎样形成一个圆,那么我们现在可以动手画圆了。
方法:把圆看成无数的点,那么圆就应该是一个点一个点画,但是flex里好像没有提供画点的函数,怎么办?没关系,我们把圆看成无数的小线段来画,ok,这个问题完美的解决;小线段均匀的分布在圆周上,我们可以把圆周分成1000个小线段,或者更多都可以,我们只要把这些线段都画出来就完成一个圆了。这样就完成了模拟手动画圆了;但是你会发现还有一个问题,就是怎么确定这些线段,这些线段的坐标呢?
3. 引入数学,确定坐标
下面引入数学的圆的表达方程式(不明白这个方程的可以去查看高等数学) x*x + y*y = r*r ; x为x轴坐标,y为y坐标,r为半径。x,y都是参数,我们需要确定的就是这两个值,计算机无法同时表达两个参数,那么我们换一下思维,利用圆的参数方程来表示 : x = rsint, y = rcost, 0<t<=2π;
通过 t 的 均匀变化 ,我们就可以确定那些线段的坐标。
第2步中圆也可以看成是无数小圆,用画圆来模拟手动画圆