Perp点积和2个向量之间的交叉点

时间:2012-02-04 22:03:04

标签: math vector

我一直在阅读关于向量交集的博客。在这篇博客中我找到了类似的东西:

v3={vx:v2.p0.x-v1.p0.x, vy:v2.p0.y-v1.p0.y};
var t=perP(v3, v2)/perP(v1, v2);
ip={};
ip.x=v1.p0.x+v1.vx*t;
ip.y=v1.p0.y+v1.vy*t;

function perP(va, vb)
{
    pp = va.vx*vb.vy - va.vy*vb.vx;
    return pp;
}

这是他们计算向量v2与v1的交集的方式。我不理解的部分是t计算(即v2上作为交点的分数)。

有谁可以解释为什么perp产品之间的划分是t?一直在阅读其他一些信息等等......但无法弄明白。

P.D:完整的博客文章是:http://www.tonypa.pri.ee/vectors/tut05.html

提前致谢。

1 个答案:

答案 0 :(得分:2)

v1和v2的乘积等于由这些矢量形成的平行四边形的面积。 v2和v3的产品也是如此。两个平行四边形具有共同的基础(v2),但具有不同的高度。 Height1 = v1.DeltaY和height2 = v3.DeltaY = v1.DeltaY * t。因此面积比(和产品比)是t