判断点是否在三角形中(三角形的有向积计算)

       

 
   
判断一点O是否在三角形中,只要满足: 面积S(abc)=S(oab)+S(Obc)+S(oca); 

原理是向量的叉积(为三角形面积的2倍) 平面向量 三个点a(x0,y0),b(x1,y1),c(x2,y2); 向量B
=b-a; 向量C=c-a; X1=B的衡坐标; i j k X1 y1 0 X2 y2 0 double area(double x0,double y0,double x1,double y1,double x2,double y2)//计算三角形面积 { return fabs(x0*y1+x2*y0+x1*y2-x2*y1-x0*y2-x1*y0);//注意这个值有正负,所以呢,算出来的值要加绝对值
} 

你可能感兴趣的:(计算)