首页 > 代码库 > 有向面积

有向面积

有向面积是矢量,它大小等于面积,但是带有方向,可以用右手定则求出方向。有向面积可以很方便的在坐标系中求出凸多边形的面积,及点与凸多边形的位置关系。

以三角形为例:

三角形的有向面积:

       Double area(double x0,double y0,double x1,double y1,double x2,double y2){

                Return xo*y1+y0*x2+x1*y2-x2*y1-x0*y2-x1*y0 ;

             }

       上面得到的即是顶点为A(x0,y0),B(x1,y1),C(x2,y2)的三角形的有向面积S的倍;计算公式可以用行列式来记:

        如果area>0,则说明ABC三点呈现逆时针排列;

        如果area=0,则ABC三点共线;

        如果area<0,则说明ABC三点呈现顺时针排列。

方向是用右手定则和z轴方向确定,同向为正,反向为负。

应用:

  1. 计算凸多边形面积(证明可以看http://hi.baidu.com/aekdycoin/item/5d0aa816eed0c23ab93180dc)
  2. 点与凸多边形关系。当点在凸多边形内或线上时,有如下关系SABC=SOBC+SAOC+SABO
  3. 判断点的顺逆时针关系