我想找出一個點是否在一個正方形內。我給出了一個正方形對角線的末端座標,並且我發現了另一個對角線的末端座標。如何找到某個點是否在Java中放置在正方形中?
我能想到的一種方法是通過使用外接圓的屬性來解決它。我已經包括了廣場外圍的所有點,但我想不出一種方法來排除額外的點。
邊緣不平行於任何座標軸。
有沒有辦法在java中做到這一點?
赫雷什我的代碼部分:
if(distance(x1,y1,x2,y2,j,i)<=dd)
A[i][j]=1;
else
A[i][j]=0;
X1,Y1,X2,Y2是對角線的正方形和DD的座標是對角線長度和I,J是座標大於0並且小於100. 我使用數組來存儲滿足條件的點。
這篇文章可以幫助你。 http://alienryderflex.com/polygon/ –
對於邊緣不一定平行於座標系的正方形,請參閱http://math.stackexchange.com/questions/190111/how-to-check-if-a點是在矩形內。順便說一句,是一個關於測試一個點是一個向量的順時針還是逆時針的答案。 Sedgewick的「C語言算法」爲這種ccw()測試提供了僞代碼,並建議三邊或四邊的多邊形比「多邊形中的點」更簡單,只需對每一邊進行測試即可。 [你可以在線找到這個僞代碼。] –
你的同學在這裏:http://stackoverflow.com/questions/42407174/ – MBo