判断平面向量和点的位置关系
经常遇到判断平面向量和点的位置关系,做一个简单的记录,方便后面使用。原理是向量的叉乘。
两个同起点的向量A(xA ,yA)和B(xB ,yB)的叉乘公式为: crossV = xA *yB - yA*xB。
展开后即可得到代码中公式,进而可以判断点和向量的位置关系。
一、定义结构体

二、定义判断函数

def judgeDirection(startPoint, endPoint, P):
tmp = (startPoint.y - endPoint.y)*P.x + (endPoint.x - startPoint.x)*P.y + startPoint.x*endPoint.y - endPoint.x*startPoint.y
if tmp < 0:
print("the point at the right of vector!")
else:
print("the point at the left of vertor")
三、测试
-
情形一


-
情形二



浙公网安备 33010602011771号