判断点在三角形里面还是外面

判断点在三角形里面还是外面

	三维空间中的一个平面上有A、B、C、P四个点。
	连接A、B、C三个点形成一个三角形ABC。
	判断点P是否在三角形ABC内。

方法一:一次线性方程
A、B、C 、P四个点。
AB方程为f1;BC方程为f2;AC方程为f3。

f1(x,y)=a1*x + b1*y + c1
f2(x,y)=a2*x + b2*y + c2
f3(x,y)=a3*x + b3*y + c3

分别计算:

f1(C) X f1(P)f2(A) X f2(P)f3(B) X f3(P)
	三个式子结果`同号`。(千万别用子式子相乘>0的方式)
	这说明点P在ABC三角形内;否则点P在三角形ABC外面。

方法二:向量叉乘
首先先理解叉乘的意义,即得到两个向量平面的的一个法向量。:向量求叉乘时,是按小于180的角算的。
可以通过右手法则判断向量在左还是在右:

aXb>0	 b在a左侧
aXb<0	 b在a右侧
运用上面这个性质。
叉乘可以判断点在多边形的内外:
AP X ABBP X BCCP X CA 
均同向(即要么都>0,要么都<0)则点P在三角形ABC内部。
否则点P在三角形ABC外面。

千万别用 子式相乘>0的方式。
补充
判断是否在三角形ABC边上需要对单个计算结果分析对比。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值