这是一张图片:
我有两个向量:os,oe
它们之间的范围总是从os(开始)到oe(结束)。
因此,在此图像中,两者之间的距离为270°。
然后我要检查两个向量:oa,ob
正如你所看到的,矢量oa应该在osoe形成的范围内,而矢量ob应该在外面。
我想知道是否有办法只使用矢量数学(例如交叉积点积)进行检查。
我尝试使用顺时针/逆时针检查的交叉产品,但似乎当两者之间的角度大于180°时,事情变得复杂。
任何建议都将不胜感激,谢谢:)
答案 0 :(得分:3)
我将向量指向p为op
。
计算叉积
c_se = cross(os, oe)
如果c_se>=0
(0..180 range
中的角度),则必须检查是否
cross(os, op) >= 0 AND cross(op, oe) >= 0
如果c_se < 0
(180..360 range
中的角度),则必须检查是否
NOT (cross(oe, op) >= 0 AND cross(op, os) >= 0)