編輯:我工作過一個解決方案。如果您將來遇到此問題並且需要類似的東西,請隨時與我聯繫。檢查隨機框內是否有點
-
而是在一個平面上生成隨機點的,你將如何檢查是否給定的座標等於隨機點?或者在一個隨機邊框內?
例如,您有一個具有整數座標的平面。該平面以某種方式填充隨機邊界框(使用公式生成,而不是數據)。目標是檢查給定的(x,y)是否在其中一個框內。
我可以找到許多關於如何生成隨機點的參考,但沒有太多的以更多倒退的方式來做(我想你會稱之爲'功能性')。
我設法做出了一個算法,將平面分割成100x100的正方形,並且在每個正方形內是一個隨機放置的邊界框。但是有可能使用更有機地放置這些盒子的算法嗎?
編輯:這是我(從內存中,可能失去了一些東西)「一個100x100的網格內隨機點」用一個簡單的示例算法:
// check if equal to a random point within the point's grid square
boolean isRandomCenter(x, y) {
// offset relative to origin of grid square
int offsetX = x mod 100
int offsetY = y mod 100
// any random seed will do
int randomSeed = x * y
// random position of point for this square
int randomOffsetX = random(50, randomSeed)
int randomOffsetY = random(50, randomSeed)
if (offsetX == randomOffsetX && offsetY == randomOFfsetY)
return true
return false
}
你想知道什麼?知道給定點(x,y)是否在bouding box中的條件是什麼?還是一種隨機放置框的算法? – bam500
我猜他們都是相通的。只要是可以有函數(x,y)的任意類型的隨機分佈,如果在該分佈的邊界框內,就會返回true。最好用其他控制平均間距等的參數,但這並不重要。 – LegendLength
「有機地」:是你有自己的理解,我們不分享的一個術語。關於「檢查一個給定的座標是否等於一個隨機點」的評論相同。請解釋。 –