如何检查向量是否在两个向量内

时间:2017-04-13 03:40:54

标签: math vector

这是一张图片:

enter image description here

我有两个向量:os,oe

它们之间的范围总是从os(开始)到oe(结束)。

因此,在此图像中,两者之间的距离为270°。

然后我要检查两个向量:oa,ob

正如你所看到的,矢量oa应该在osoe形成的范围内,而矢量ob应该在外面。

我想知道是否有办法只使用矢量数学(例如交叉积点积)进行检查。

我尝试使用顺时针/逆时针检查的交叉产品,但似乎当两者之间的角度大于180°时,事情变得复杂。

任何建议都将不胜感激,谢谢:)

1 个答案:

答案 0 :(得分:3)

我将向量指向p为op

计算叉积

 c_se = cross(os, oe)

如果c_se>=00..180 range中的角度),则必须检查是否

cross(os, op) >= 0 AND cross(op, oe) >= 0

如果c_se < 0180..360 range中的角度),则必须检查是否

NOT (cross(oe, op) >= 0 AND cross(op, os) >= 0)