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

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

判断p点是否在 三角形ABC内部.  这里可以用向量方式

 

  1. 向量AB(2,0)  BC(-1,1) CA(-1,-1)  
  2. p点和三个顶点构成的向量 PA(-1.5,-0.5),PB(1,-0.5),PC(0,0.5)
  3. 向量的数值,判断向量P在三个向量的位置

计算过程:

3.1从上面可以求得到

判断C点和P点在线段AB的方向是否一致.

CA*AB  => 0+2=2 >0

PA*AB => 0-(-0.5*2)=1>0

P点和C点,都在线段AB的左边

 

同理->判断B在CA的位置

PC*CA=>0+0.5>0

BC*CA=>1+1>0

P点和B点在CA的同侧.左侧.

 

同理->点A在BC的位置

PB*BC=>1-0.5=0.5>0

AB* BC=>2+0=2>0

点A在BC左侧

P和A为同侧.

同侧….

记录一下,以免以后遗忘

 

 

综上

这里的关键在于: 判断一点在P在线段AB的位置.. 需要连接线段AB的起始点构成PA向量.保持一致

上一篇:C++STL容器函数以及部分例题


下一篇:2021春招冲刺-1221