WEB开发网
开发学院图形图像Flash AS3教程:Point类计算两点间距离 阅读

AS3教程:Point类计算两点间距离

 2008-06-10 11:25:48 来源:WEB开发网   
核心提示:当要运算两点距离时,我见不少人都是用最原始的运算方法,AS3教程:Point类计算两点间距离,其实2.0开始就有了Point类,可以计算两点间距离,我们可以把物体的重心放到(0,0)点上,然后可以利用Point类的add方法简单计算各种力的合力,除此之外,Point类还可用于计算矢量

当要运算两点距离时,我见不少人都是用最原始的运算方法,其实2.0开始就有了Point类,可以计算两点间距离,除此之外,Point类还可用于计算矢量,某些看似复杂的计算,用上Point类就会变得简单。当然,要巧用Point类,必需要有矢量的知识。虽然,3.0的Point类和2.0的区别不大,但我之所以把这帖放在as3讨论区,是因为as3的Point类广泛地被其他类应用。最明显的是globalToLocal和localToGlobal这两个方法,2.0这两个方法的参数和返回值都是Object,但3.0都变为Point类了,使得Point类的应用更名正言顺了。

废话少说,言归正转,首先我们看看Point类的属性:

x:Number——该点的水平坐标

y:Number——该点的垂直坐标

length:Number——从(0,0)到此点的线段长度(只读属性)

从length属性我们可以看到,实际上一个Point类的实例是一个以(0,0)为始点,以(x,y)为终点的矢量,因此,我们可以应用Point类进行一些简单的矢量运算。现在我们看看Point类给我们提供什么有用的方法:

distance(pt1:Point, pt2:Point):Number——返回 pt1 和 pt2 之间的距离。这个就是大家傻傻地用Math.sqart()写一长串代码计算出来的两点间距离了。

add(v:Point):Point——将另一个点的坐标添加到此点的坐标以创建一个新点。还记得矢量相加的几何意义吗?

AS3教程:Point类计算两点间距离 设a、b为矢量,则a+b=c,图中矢量c就是矢量a加矢量b的结果。

这个用来计算合力最方便。我们可以把物体的重心放到(0,0)点上,然后可以利用Point类的add方法简单计算各种力的合力。你可能会提出一个问题:如何把力转换成点的坐标呢?下面这个方法可以帮你解决这个问题。

1 2  下一页

Tags:AS 教程 Point

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接