2015-12-15 59 views
0

我沒有通過搜索找到我的問題的任何答案。所以它可能非常簡單或太難。所以,請忍受我。如何找到兩架飛機的交點

我有兩架飛機相互相交,如你所見,在圖片中。

傾斜面是用X作圖,Y和Z矩陣(衝浪(X,Y,Z))。第二個平面具有相同的X和Y矩陣,簡單Z就是零矩陣。現在我有興趣找到兩個平面相交的X和Y

+2

您是否確實有過用於生成這些點的公式,或者您只有矩陣可用? – rayryeng

回答

0

無論您是從平面方程開始還是僅從數值矩陣開始,解決方案都同樣簡單。

使用平面方程,可以得到三個未知數的兩個方程。將其解釋爲兩個未知數(X和Y)中的一個方程,並且您有相交線,從中可以生成任何所需的交點集。

使用矩陣,您知道相關的z值 - 它是零。選擇您最喜歡的搜索方法,找到值爲零的原始Z矩陣中的索引。您可以通過使用這些交點設置XY矩陣來獲得交點設置。 (如果Z中的值沒有精確到零,那麼你需要做的就是插值。)

簡單的原因是(a)你的物體是飛機,和(b)其中一個平行於該空間的基礎矢量。 (b)約束的放寬只增加了必須從另一箇中減去兩個平面以允許(b)再次保持的複雜性。 (這隻有在你沒有平面方程時纔有用;如果你這麼做,你可以應用任何兩個平面給出的解,不管方向如何)。

但是,如果(a)放鬆,那麼問題變得非平凡 - 確定任意流形的交叉空間的計算密集程度可能非常高,因爲有關遊戲和機器人碰撞檢測的大量文獻將證明這一點。

附錄This link appears to cover the idea more explicitly,但它並不假設表面是平面,因此增加了您不需要的複雜度。