所以我有一個float[,]
高度圖,並且作爲我的河流生成算法的一部分,我想選擇兩個點,只要它們是陣列邊緣的一部分即可。這似乎是一個簡單的任務,但我似乎無法想出一個不涉及太多if語句的解決方案。有沒有辦法從二維數組的邊緣進行選擇? (IE,x = 0
或x = max
,或y = 0
或y = max
)如何僅在二維數組邊緣選擇點
5
A
回答
2
你可以把所有邊緣indicies樣(0,10)一個陣列,把所有的人都在一個陣列中,現在你可以簡單地選擇一個或多個他們。
+0
有一件事與問題無關:如果將隨機範圍拉伸到數組長度的N倍,並使用模數來獲得範圍內的點,則可以隨機存檔更好的結果。我通常使用7作爲乘法器。 –
2
只是爲了新奇,這裏是做這件事的方式不涉及存儲所有的指數,或如果()塊:
static void randPoint(int width, int height, out int x, out int y, Random r)
{
int[] dim = {width,height};
int[] res = new int[2];
res[0] = r.Next(0, 2) * (width - 1);
res[1] = r.Next(0, 2) * (height - 1);
int hv = r.Next(0, 2);
res[hv] = r.Next(0,dim[hv]);
x = res[0];
y = res[1];
}
相關問題
- 1. 刪除二維數組的邊緣
- 2. 如何在二維數組中隨機選擇數據
- 3. 圍繞二維數組(生命遊戲)的邊緣?
- 4. 獲取二維數組的邊緣值,同時防止越界
- 5. 用numpy圍繞二維數組的邊緣切片
- 6. java中的二維數組類,包裝邊緣
- 7. 在numpy中,如何選擇二維數組的子集?
- 8. 如何將一組二維點(多點)轉換爲多邊形?
- 9. 如何在二維數組
- 10. 選擇邊緣循環
- 11. 如何使用隨機選擇二維數組中的位置?
- 12. 如何閱讀二維碼沒有安全邊緣(安靜區)?
- 13. 二維點的邊界
- 14. 在二維數組中選擇相似項目組的算法
- 15. 如何創建二維數組的二維數組?
- 16. 如何創建二維char數組的二維數組?
- 17. 如何零二維數組
- 18. C#打印邊框二維數組
- 19. 在CUDA中將二維Canny邊緣圖像轉換爲一維邊緣像素陣列 - 奇怪的行爲
- 20. 在二維數組
- 21. 在二維數組
- 22. 點在二維多邊形內
- 23. 如何在邊緣找到交點
- 24. 如何一維數組轉換爲二維數組在C#
- 25. 如何在二維數組中搜索一維數組?
- 26. 如何合併一維數組和二維數組在php
- 27. 如何從邊緣製作二叉樹?
- 28. 在Javascript中識別一維數組的邊緣案例
- 29. 將二維數組轉換爲多邊形點
- 30. 用邊界條件檢查二維數組中的附近點
你想一個隨機點? – JasonD
有多少是太多? –
任何隨機點,只要它在一個邊上。 編輯:我要選擇兩個總分,如果這是相關的。 – user1938413