Flash应用数学:直线方程

来源:互联网 发布:mac系统怎么截图 编辑:程序博客网 时间:2024/04/28 11:03

一,数学

直线方程: y=f(x); Ax+BY+C=0;

斜截式:y=kx+b;

点斜公式:y-y1=k(x-x1);

斜率公式: k=y-y1/(x-x1);

截距式:x/a+y/b=1; 

 

 

直线的参数方程:

它的推算: 点斜公式:y-y0=tg(a)(x-x0);转换为参数方程。

第一步: (y-y0)/sin(a)=(x-x0)/cos(a);

 

第二步:设置参数两边T

(y-y0)/sin(a)=t;

(x-x0)/cos(a)=t;

 

第三步:转换

x=x0+t*cos(a);

y=y0+t*sin(a);

 

 

二:利用直线方程来创作

第一步:创建一个名为Ball的小球,链接Ball类。

 

第二步:复制n个球在我们的场景上,并初始化小球的坐标

假设我们设置为20

 

list为数组,使用数组来管理我们创建的ball 实例。指定初始化位置 x和y

 

然后分布小球成一条直线:这里是从第二小球开始分布,也就是说数组的list【1】这个实例来分布它的位置,他的位置以前一个实例为基础,每一个小球和是前一个小球都相差 x轴为20,y轴为15

 

第三步:产生动画

为了使复制的物体能够产生效果,我们加人了rotation这个属性,让其产生角速度变化

addEventListener(Event.ENTER_FRAME,Run);

 

 

ball

 

这样一个效果就出来了。

 

三:改造算法 

  把上面的一些琐碎的代码再缩成为一个参数方程

 

 

这样的话同样可以得到上面的结果,反而代码要求简化了很多。

当i=0的时候,第一个小球list【0】的坐标为(50,60)

当i=1的时候,第二个小球list【1】的坐标就应该参数第一个进行斜率运算。倾斜30度,运行i*20的线段。这样就到达了第二点的位置。

 

当i=2的时候.....

.................

..........z直到最后。

这个很类似一个速度的分量公式

 

vx=speed*cos(a);

vy=speed*sin(a);

 

这样就是我们一个物理经常要用到的公式。速度分量的应用。

 

 

 

 

原创粉丝点击