您的位置:首页 > 其它

AS3如何计算两点间的距离

2013-04-11 15:55 134 查看
as3如何计算两点间的距离?我们在做flash数学课件时,有时可能需要计算两个点之间的距离。比如:两个点在同一个平面上是可以移动的,每当移动后,它们相对于原点的坐标就发生了变化,此时它们之间的距离也会相应地发生改变。

计算两点之间的距离,我们首先需要把它们放入坐标系中,X轴的方向是向右,而Y轴方向方向为向下。如下图,我们将A、B两点分别向下和向右画直线,令它们组一个直角三角形。在直角三角形中,有a*a+b*b=c*c,即斜边c=两条直角边的平方和再开平



而两条直角边a和b,则是两点横坐标的差、纵坐标的差。尽管在FLASH中,Y轴方向是向下的,X轴方向向右,但是原理仍然与数学坐标系中的情况完全相同。具体用代码实现如下:

var pA:Point=new Point(100,100);

var pB:Point=new Point(300,200);

var dx:Number=pA.x-pB.x;

var dy:Number=pA.y-pB.y;

var dist:Number=Math.sqrt(dx*dx+dy*dy);//看出勾股定理的影子了吗?



trace(dist);


        其实在AS3语言中,已经内置了一个求两点距离的方法,它是Point类的一个静态方法,实现形式为Point.distance(p1,p2),所以前面的方法可以更加方便地实现:

var p1:Point=new Point(50,50);

var p2:Point=new Point(275,200);



trace(Point.distance(p1,p2));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: