我有一個由角度α定義的給定線R。 R通過我的飛機的起源。我也有一個矩形,具有已知的寬度和高度。矩形的原點左下角。
一條與R平行的新線由距R的距離L定義(以A,B和C爲例)。我想找出新線與矩形相交的點(如線A的P1和P2,B的P3和P4,以及C的P5和P6)。
找到它的最佳方法是什麼?
我有一個由角度α定義的給定線R。 R通過我的飛機的起源。我也有一個矩形,具有已知的寬度和高度。矩形的原點左下角。
一條與R平行的新線由距R的距離L定義(以A,B和C爲例)。我想找出新線與矩形相交的點(如線A的P1和P2,B的P3和P4,以及C的P5和P6)。
找到它的最佳方法是什麼?
使用此頁 http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/
它給出了兩條線的交點公式。與分別構成矩形的4條線相交,然後檢查u_a(由矩形線參數化的交點)是否在正確的邊界之間,以確保您的線不與矩形外部的線相交。
請注意,您需要的實際點不是角度,但計算它們非常容易。 (0,0) - >(cos(a),sin(a))
線x距離它的距離,並行是 (0,0)+ x *(sin(因爲您可以注意到,(sin(a)) - >(cos(a),sin(a))+ x *(sin(a), - cos(a))。 a),-cos(a))只是一個垂直於你的線的單位長度矢量,所以你只需將它添加到形成原始線的兩點上。
最好的方法可能是http://math.stackexchange.com/ :) – sth 2010-08-26 14:28:39
L如何爲R的每一邊定義? R可以具有負斜率還是α始終爲0-90度? – phkahler 2010-08-26 17:25:41