我对向量不太熟悉,所以想知道我是否能在这里得到一些帮助。
我在二维空间做一个凸面外壳项目。我正在处理的特定函数需要确定一个点是位于直线的左侧、右侧还是直接位于直线上。
我被告知要用交叉积来做这件事。这三个点在二维空间中创建一个三角形。计算叉积可以得到三角形的面积。如果面积为正,则p->q->r点逆时针工作,即r点位于p-q线的左侧。同样,如果面积为负,则p->q->r点顺时针工作,r点位于p-q线的右侧。如果面积为0,则r点位于p-q线。
我知道如何处理最终结果,我只是不知道我应该使用什么公式。
我的问题是我对交叉产品不熟悉,我所做的研究并没有阐明如何用3分来做到这一点。我的直觉是,这和用2个向量做是一样的,但是如果是这样的话,我不知道如何把我的3个点精确地转换成2个向量。
非常感谢!

最佳答案

你的三角形有边q-pr-p,所以你必须计算

(q - p) x (r - p)

其中a x b是决定因素
a x b = (a.x * b.y - a.y * b.x)

有时被称为“二维交叉积”(参见示例
http://mathworld.wolfram.com/CrossProduct.html)。

09-26 23:15