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

Calculating this new 2D vector from two other 2D vectors. (See image)

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

见草图

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

我用它来 'combine' 两个向量。我正在寻找一种方法来找到 "maximum" 向量,它移动两者的数量而不是简单地添加向量。

示例:

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

如果一个向量比另一个向量长但方向相同,我的向量应该是较长的那个。

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

如果有人知道此载体的科学名称,请告诉我,以便我进行自己的研究。 :)
谢谢

编辑:
基于 dpmcmlxxvi 的 post,
我想出了两个方程来求解 x 和 y 交点。

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

编辑:
上面的方程式在 m 的无穷大值(当垂线垂直时)存在问题。 我找到了一篇 Wiki 文章:https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection#Given_two_points_on_each_line
并使用了 "Given two points on each line" 方程式,只要线条不平行就可以很好地工作。

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

  1. 找到每个黑色向量的垂直线的数学运算在前面的 answer.

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

  3. 使两条线相等,这将为您提供自由参数并得出交点。

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

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

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

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