博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

判断一个点是否在一个三角形内

Posted on 2009-10-29 20:46  Zhiyett  阅读(292)  评论(0编辑  收藏  举报
  设   ap×ab   代表矢量ap与ab的矢性积,其坐标表达式为  
        ap×ab   =   (xp-xa)*(yb-ya)-(yp-ya)*(xb-xa)  
  于是判别过程如下:  
   若   ap×ab>0   and   bp×bc>0   and   cp×ca>0   或   ap×ab<0   and   bp×bc<0   and   cp×ca<0  
  则可判定p在△abc内。  
 
  若   ap×ab=0   and   (bp×bc>0   and   cp×ca>0   或   bp×bc<0   and   cp×ca<0)  
  或   bp×bc=0   and   (ap×ab>0   and   cp×ca>0   或   ap×ab<0   and   cp×ca<0)  
  或   cp×ca=0   and   (ap×ab>0   and   bp×bc>0   或   ap×ab<0   and   bp×bc<0)  
  则可判定p在△abc轮廓上。  
   
  否则,p在△abc在外。