2012-02-04 33 views
3

我一直在閱讀有關向量交集的博客。在這個博客中,我發現了這樣的東西:Perp dot產品和2個向量之間的交點

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?一直在閱讀一些其他信息等,但無法弄清楚。

Pd積:完整的博客帖子是:提前http://www.tonypa.pri.ee/vectors/tut05.html

感謝。

回答

2

v1和v2的乘積等於由這些矢量形成的平行四邊形的面積。 v2和v3的產品也是如此。兩個平行四邊形具有共同基礎(v2),但具有不同的高度。 Height1 = v1.DeltaY和height2 = v3.DeltaY = v1.DeltaY * t。因此,面積比(和產品比)是t

+0

感謝您的答案MBo,但是,我上面指出的教程是關於v1正常和v2的點積和v3正常和v2這就是他稱之爲Perp dot product 。也許我沒有完全關注你,但仍然沒有得到你的答案和這個傢伙計算t的方式之間的關係。 – Notbad 2012-02-05 10:44:51

+0

perp dot產品是交叉產品的一個組件,也可以是二維情況的交叉產品。請看這裏的'Matrix notation'和'Geometric meaning'部分:http://en.wikipedia.org/wiki/Cross_product – MBo 2012-02-05 10:59:59