注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

keky的博客

GAIN CONFIDENCE _=_!既然选择了远方,便只顾风雨兼程^_^

 
 
 

日志

 
 

判断点是否在三角形内  

2007-07-11 23:39:29|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

三角形ABC,判断点P是否在其里头。

综合前辈们的经验现菜鸟做个小总结:一般来看有两种方法:

1〉等面积法:S(ABC) ==? S(APB) + S(BPC) + S(CPA);

== -> inside or on the edge;

!=  ---> outside; 

2> 叉乘法:沿三角形的一个方向{ A -> B -> C  or  A -> C -> B }分别做边向量与(出发点->P)向量的叉乘;

a1 = AB x AP;  a2 = BC X BP ;  a3 = CA X CP;

( E = ( x1, y1); F = ( x2, y2);  E X F = x1y2 - y1x2; )

if( a1、a2、 a3 > 0  or  a1、 a2、 a3 < 0)   ==> inside

if( a1 * a2 * a3 == 0)

{

         b = ( a1 == 0 ?: a1 ;  a2 ==0 ?: a2;  a3 == 0 ? : a3) ( only one can be 0) 

        t = { a1,a2,a3} - b;

         if( t0 * t1 > 0  )  -==> on the edge;  else  ==> outside;

}

请大家多多指教!

 

 

判断点是否在三角形内 - hycllf - keky的博客
判断点是否在三角形内 - hycllf - keky的博客
  评论这张
 
阅读(20)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018