两个向量之间的插值线中向量的交点?反向线性插值?

Intersection of a vector in the interpolation line between two vectors? Reverse Linear Interpolation?

查看图片

基本上我有一个矢量方向 (c) 位于两个矢量(a 和 b)之间,我想找到 P 方向 c 与 a 和 b 定义的线的交点。

所以我把所有三个向量都放在一个平面上,想找到 P。

谢谢!

向量 OPP = (1-t)*A+t*B 并且您需要找到 P 使得 C×P=0 其中 × 是向量叉积。最后我得到

t = (ax*cy-ay*cx)/(ax*cy-ay*cx-bx*cy+by*cx)
px = cx*(ax*by-ay*bx)/(ax*cy-ay*cx-bx*cy+by*cx)
py = cy*(ax*by-ay*bx)/(ax*cy-ay*cx-bx*cy+by*cx)

示例,A=(1,6)B=(5,2)C=(0.5,0.8)

t = 11/26
px = 35/13
py = 56/13

使用 GeoGebra 检查结果:

好的,以我的大脑可以计算的方式解决了这个问题。

图片说明,我是视觉达人:http://i.imgur.com/o5rlSdK.png

将向量之一投影到边缘,然后减去向量的投影,得到 p,垂直于边缘的向量。

然后将 c 投影到 p 上,无论投影长度与 p 的长度的因数是多少,我都将 c 乘以,得到交点。

抱歉,如果这是一个非常不稳定的实现,但我这边的输出正是我所需要的。