点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > flash>详细内容

flash 制作求函数解析式

添加时间:2013-12-6
    相关阅读: flash 制作

源文件下载
代码如下:
stop();
var a:Number;
var k:Number;
var b:Number;
var c:Number;
var d:Number;
d= 0;
function yicihanshu(q:Number):void
{
xuze.gotoAndStop(2);
d = 1;
}
yi.addEventListener(MouseEvent.MOUSE_DOWN, yicihanshu);
function fanbilihanshu(q:Number)
{
xuze.gotoAndStop(1);
d = 2;
}
fan.addEventListener(MouseEvent.MOUSE_DOWN,fanbilihanshu);
function zhenbilihanshu(q:Number):void
{
xuze.gotoAndStop(1);
d = 3;
}
zheng.addEventListener(MouseEvent.MOUSE_DOWN,zhenbilihanshu);
function ercihanshu(q:Number):void
{
xuze.gotoAndStop(3);
d = 4;
}
er.addEventListener(MouseEvent.MOUSE_DOWN,ercihanshu);
function jishuan(q:Number)
{
switch (d)
{
case 0 :
shuchu.text = "先选择函数类型";
case 1 :
k=((xuze.Y2.text)-(xuze.Y1.text))/((xuze.X2.text)-(xuze.X1.text));
b=(xuze.Y1.text)-k*(xuze.X1.text);
shuchu.text = "y" + "=" + k + "x" + "+" + b;
break;
case 2 :
k=(xuze.X0.text)*(xuze.Y0.text);
shuchu.text = "y" + "=" + k + "/" + "x";
break;
case 3 :
k=(xuze.Y0.text)/(xuze.X0.text);
shuchu.text = "y" + "=" + k + "x";
break;
case 4 :
a=(xuze.Y5.text)/(((xuze.X4.text)-(xuze.X5.text))*((xuze.X3.text)-(xuze.X5.text)))
+(xuze.Y4.text)/(((xuze.X4.text)-(xuze.X5.text))*((xuze.X4.text)-(xuze.X3.text)))
+(xuze.Y3.text)/(((xuze.X3.text)-(xuze.X4.text))*((xuze.X3.text)-(xuze.X5.text)));
b=((xuze.Y4.text)-(xuze.Y3.text)-a*((xuze.X4.text)*(xuze.X4.text)-(xuze.X3.text) *(xuze.X3.text)))/((xuze.X4.text)-(xuze.X3.text));
c=xuze.Y3.text-a*(xuze.X3.text)*(xuze.X3.text)-b*xuze.X3.text;
shuchu.text = "y" + "=" + a + "x²" + "+" + b + "x" + "+" + c;
}
}
queding.addEventListener(MouseEvent.MOUSE_DOWN,jishuan);

注:

yi,fan,zheng,er,queding分别为一次函数,反比例函数,正比例函数,二次函数 按钮的实例名称。

xuze为填入坐标的影片剪辑的实例名称。

X1~5和Y1~5均为坐标文本实例名称。

 

计算方法:

计算正比例函数和反比例函数的解析式的方法比较简单这里就不说了。

计算一次函数解析式y=kx+b需要两个坐标(x1,y1),(x2,y2) 计算时列出方程组:

y1=kx1+b

y2=kx2+b

解得:

k=(y2-y1)/(x2-x1)

b=y1-kx1

根据这个就可以直接由两个坐标求k,b的值。

计算二次函数解析式比较麻烦,但也可以推出公式

计算y=ax²+bx+c时需要三个坐标(x1,y1),(x2,y2),(x3,y3),列出方程组:

y1=ax1²+bx1+c

y2=ax2²+bx2+c

y3=ax3²+bx3+c

解得:

a=y3/((x2-x3)(x1-x3))+y2/((x2-x3)(x2-x1))+y1/((x1-x2)(x1-x3))

b=(y2-y1-a(x2²-x1²))/(x2-x1)

c=y1-ax1²-bx1

这样只要写出三个坐标,根据公式可直接求的a,b,c的值

你也可以试着推一下,但和我推的结果可能不一样,验算正确就可以了。

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册