方法一利用两点之间距离公式,求出三角形的三边长a,b,c后,令p = (a+b+c)/2。再套入以下公式就可以求出三角形的面积S :S = sqrt(p*(p-a)*(p-b)*(p-c))
actionScript 3.0:
public static function getAreaByPoints(p1:Point,p2:Point,p3:Point):Number
{
// 方法一
// 利用两点之间距离公式,求出三角形的三边长a,b,c后,
// 令p = (a+b+c)/2。再套入以下公式就可以求出三角形的面积S :
// S = sqrt(p*(p-a)*(p-b)*(p-c))
var dx:Number=p1.x-p2.x;
var dy:Number=p1.y-p2.y;
var p1Len:Number=Math.sqrt(dx*dx+dy*dy);
dx=p2.x-p3.x;
dy=p2.y-p3.y;
var p2Len:Number=Math.sqrt(dx*dx+dy*dy);
dx=p3.x-p1.x;
dy=p3.y-p1.y;
var p3Len:Number=Math.sqrt(dx*dx+dy*dy);
var p:Number=(p1Len+p2Len+p3Len)/2;
return Math.sqrt(p*(p-p1Len)*(p-p2Len)*(p-p3Len));
}