从另外两个2D矢量计算这个新的2D矢量。 (见图)

时间:2015-07-29 19:55:46

标签: math 2d

我很抱歉标题含糊不清,但我不知道我试图计算的矢量是否有科学名称。

见草图

pic

两条黑线是从某个原点指向的矢量。 红线是黑色矢量的垂直矢量。 我想计算指向红色矢量相交处的蓝色矢量。

我正在使用它作为“组合”两个向量的方法。我正在寻找一种方法来找到移动两者数量的“最大”矢量,而不是简单地添加矢量。

示例:

如果两个向量相等,将它们加在一起会产生两倍的向量。相反,我的矢量应该只是原始矢量之一的大小。

如果一个矢量比另一个矢量长但方向相同,我的矢量应该更长。

另一方面,如果两个向量是正交的,那么我的向量将等于加在一起的向量。

如果有人知道这个载体的科学名称,请告诉我,这样我就可以做自己的研究。 :)
感谢。

修改
根据dpmcmlxxvi的帖子,
我想出了两个方程来求解x和y交点。

xi = (m1 * x1) - (m2 * x2) - y1 + y2
yi = (m1 * xi) - (m1 * x1) + y1

修改
上述方程存在无穷大m值的问题(当垂直线是垂直的时)。 我发现了一篇维基文章:https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection#Given_two_points_on_each_line
并且使用“给定两条线在每条线上”的方程式,只要线条不平行就能很好地工作。

2 个答案:

答案 0 :(得分:1)

首先,请参阅上面的评论,关于您的定义不适用于并行向量。其次,以下内容应该为您提供交叉点。

  1. 找到每个黑色矢量的垂直线的数学运算位于之前的answer

  2. 有一次,每个黑色矢量都有一条垂直线,你将有两个自由参数,每行一个。

  3. 等同两条线,这将为您提供自由参数并产生交点。

  4. 从原点中减去交点可以得到你想要的蓝色矢量。

答案 1 :(得分:1)

对于平面齐次坐标,矢量末端的位置是

path {
    fill: #f00;
}

平面齐次坐标中的线由三个值P_1 = (x_1,y_1,1) P_2 = (x_2,y_2,1) 描述,使得线的方程为(a,b,c)通过每个点的垂直线具有坐标

a*x+b*y+c=0

两条线的交点的位置由L_1 = [x_1,y_1,-x_1^2-y_1^2] L_2 = [x_2,y_2,-x_2^2-y_2^2] 定义,其中Q=L_1 × L_2是矢量叉积。因此,齐次坐标的结果是

×

Q = | y_2*(x_1^2+y_1^2)-y_1*(x_2^2+y_2^2) | | x_1*(x_2^2+y_2^2)-x_2*(x_1^2+y_1^2) | | x_1*y_2-x_2*y_1 | 的笛卡尔坐标为

Q

     y_2*(x_1^2+y_1^2)-y_1*(x_2^2+y_2^2) 
x = -------------------------------------
             x_1*y_2-x_2*y_1