问题:我想找到一种方法来检查两个 3 维向量的共线性,这比检查向量的叉积需要更少的计算。
我如何尝试解决这个问题:我的推理如下 - 如果两个向量 A 和 B 共线,那么它们是线性相关的。这意味着通过将向量 A 乘以某个数字 Q,我将得到向量 B。在坐标形式中,它看起来像这样 - A = (Bx*Q, By*Q, Bz*Q)。从这里我们得到比例 - Ax/Bx = Ay/By = Az/Bz。我们将所有东西都向一个方向转移,得到 Ax / Bx - Ay / By - Az / Bz = 0。除法不好,因为 可能会发生除以零,所以我们通过将等式两边都乘以 来消除它Bx*By*Bz。我们得到最终公式 - Ax*By*Bz - Ay*Bx*Bz - Az*Bx*By = 0。
问题是什么:不起作用)例如对于情况 A(100, 0, 100) 和 B(0, 100, 0)。请告诉我我在哪里犯了错误以及它是什么。
对于三等式,你不能把所有的东西都转移到一个方向上,你需要考虑两个独立的等式,否则,如上例所示,非零差异可以相互抵消
实际上,在这种方法中,计算了叉积的三个分量中的两个。
PS 请参阅评论中的@sercxj 注释。