2017-04-25 61 views
1

Java的學生在這裏可以使用Line2D和Rectangle2D而不生成圖形嗎?

我試圖創建一個線,當我移動物理加速度計/陀螺儀時,以及當線與我在2D座標系中定位的矩形相交時返回TRUE的方法。

很顯然,Line2D和Rectangle2D是我剛剛發現的圖形類,除非它被設置在JFrame中並繪製,我不會尋找。所以我想知道是否有其他類可能更適合這個。或者,我是否必須手動總是計算線段的方程式,以及矩形段的四邊,然後檢查路口的交點?

任何想法?

+0

要找出一條直線是否與一個矩形相交,如果該直線的至少一個端點位於該矩形的內部,將更容易看清楚。不涉及線方程。 :-) –

+1

@Aron_dc兩個端點都在矩形外的線段仍然可以與它相交。恐怕它需要的不僅僅是一個簡單的測試。 –

+0

@G_H Oh dang,你說得對。甚至在幾年前我的計算機圖形學課程中已經涵蓋了它。 –

回答

2

這些類只是封裝形狀信息。您可以在沒有渲染的情況下使用它們,甚至可以在「無頭」(無渲染硬件)環境中使用它們。

Line2D line = new Line2D.Double(1, 5, 4, 0); 
Rectangle2D rect = new Rectangle2D.Double(1, 1, 2, 2); 
System.out.println(line.intersects(rect)); 

這種輸出 「真」。

+0

非常感謝!由於某些原因,當我嘗試運行這個時,我一直在輸出錯誤(空指針)。我會再給它一次。我很感激,夥伴。 – Fontayne

相關問題