主题:  哪位是懂数学的编程高手?请帮忙。

cloudsea

职务:普通成员
等级:2
金币:1.0
发贴:442
#12001/11/5 1:23:48
这是一个小球排斥鼠标的特效,其Action很精敛,但却不明白,望能解释得详细一些。多谢!!
主时间轴没有Action,下面是对小球的定义。据说是用了 反余切 的什么东西。
帧1: x00 = _x;
y00 = _y;
MAAI = 5000;

帧2: x0=_x
y0=_y
x=_root._xmouse
y=_root._ymouse
a=x-x0
b=y-y0
r=Math.sqrt(a*a+b*b)

quer_fugir_x=this._x-(a/r)*MAAI/r
quer_fugir_y=this._y-(b/r)*MAAI/r

quer_voltar_x=(x00-x0)/2
quer_voltar_y=(y00-y0)/2

this._x=quer_fugir_x+quer_voltar_x
this._y=quer_fugir_y+quer_voltar_y

帧3: gotoAndPlay (2);



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#22001/11/5 10:51:34
这应该不需要多少数学方面知识吧,只要用以研读,是可以理解的。

我没有仔细看,凭直觉:
a=x-x0
b=y-y0
r=Math.sqrt(a*a+b*b)
是求以a,b为直角边的三角形的斜边

quer_voltar_x=(x00-x0)/2
quer_voltar_y=(y00-y0)/2
是求线段的中点。

不知是否正确,请指正。

编辑历史:[这消息被janlay编辑过(编辑时间2001-11-05 10:52:07)]


cloudsea

职务:普通成员
等级:2
金币:1.0
发贴:442
#32001/11/5 13:10:28
关于janlay 所讲的我也清楚,而我不懂得版主却都没讲。能给我一个理由吗?
quer_fugir_x=this._x-(a/r)*MAAI/r
quer_fugir_y=this._y-(b/r)*MAAI/r ——这两句是什么意思?

quer_voltar_x=(x00-x0)/2
quer_voltar_y=(y00-y0)/2 ——得到的这个点代表什么呢?

this._x=quer_fugir_x+quer_voltar_x
this._y=quer_fugir_y+quer_voltar_y —— 为什么让这后两项相加呢?

编辑历史:[这消息被cloudsea编辑过(编辑时间2001-11-05 13:12:05)]
[这消息被cloudsea编辑过(编辑时间2001-11-05 13:16:02)]


Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#42001/11/5 13:14:30
判定排斥目标的xy的相对象限而已。



cloudsea

职务:普通成员
等级:2
金币:1.0
发贴:442
#52001/11/5 13:19:15
画魔在上个帖子中说
引用:
判定排斥目标的xy的相对象限而已。


能给一个相对详细点的说明吗?多谢!



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#62001/11/5 14:10:30
quer_voltar_x/y是中点,也就是相对鼠标的中心点
quer_fugir_x/y是位移,是相对quer_voltar_x/y的位移
两者相加即是绝对坐标,也就是算出来的四个坐标系的坐标,坐标系中心既是quer_voltar_x/y



暗黑菜鸟

职务:普通成员
等级:1
金币:10.0
发贴:225
#72001/11/5 22:33:26
有没有这个效果的原文件???