2016-12-26 31 views
-1

創建一個Java程序來創建一個二維虛擬三角形,並檢查一個點是否落在它的內部。控制檯的輸入/輸出功能將如下:如何測試一個點是在三角形的內部還是外部?

INPUT:向用戶輸入X,Y整數爲三角形的第一頂點座標 INPUT:向用戶輸入X,Y整數爲三角形 INPUT的第二頂點座標:要求用戶輸入X,Y整數座標三角形的第三頂點 INPUT:要求用戶輸入X,Y整數一個測試點的座標 OUTPUT:檢查並打印如果點內或三角形

+0

這看起來很像一個家庭作業給我... –

+3

可能重複的[如何確定一個點是否在一個二維三角?](http://stackoverflow.com/questions/2049582/how-to - 確定-IF-A-點是-IN-A-2D-三角形) –

回答

0

Here's what I found from a quick search:

的要點是,你把點(Z點),你是試圖弄清楚它是在三角形的內部還是外部,並畫出從Z點的x值到∞的水平線。如果這條線(直線Z)僅與三角形邊中的一條相交,則我們可以得出結論:Z點位於三角形內部。爲了確定它是否與一側相交,一個好的策略是從兩側形成y=mx+b方程。給定這些方程,然後可以確定Z線有多少個邊相交。請注意,如果發現線Z與兩行或更多行相交,請檢查點Z是否是三角形的頂點之一。如果是這樣,那麼如果你想要考慮內部還是外部,這取決於你。如果Z點不是頂點,那麼它肯定不會在三角形內。

相關問題