一尘不染

2D跨产品定义

algorithm

在确定线段是否在多边形内部时,我注意到接受的答案具有以下异常的二维交叉定义:

(u1, u2) x (v1, v2) := (u1 - v2)*(u2 - v1)

我从未遇到过像这样的二维叉积的定义。谁能启发我这个定义的起源?


阅读 270

收藏
2020-07-28

共1个答案

一尘不染

我建议您看一下“
外部代数”。它概括了叉积和行列式的概念。描述飞机上各个区域的“动机示例”部分完全可以回答您的问题。

它适用于任何维度。3D是一种特殊情况,其中两个向量的叉积的结果也具有3个分量。但是,在2D中只有一个结果分量,而在4D中只有6个分量。在4D中,您可以使用3个向量应用一种叉积,这也为您提供4个分量。

重要的是要注意,尽管3D叉积的结果包含3个成分,但单位和含义是不同的。例如,与“标准”向量相反,x分量具有面积单位,并表示YZ平面中的面积,在“标准”向量中,x分量具有长度单位,而差是坐标。使用外部代数,由于符号也不同(dxvs
dy^dz),因此这些区别变得更加清晰。

注意:您引用的答案有误。代替(u1, u2) x (v1, v2) := (u1 - v2)*(u2 - v1),应该是(u1, u2) x (v1, v2) := u1*v2 - u2*v1

2020-07-28