假設我有給定的數組:繪製圖形爲Array
int[] array = {
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
會不會有一種方法來繪製圖形成數組?例如,假設我們有一種方法可以通過x和y座標來訪問數組中的數據,那麼我們可以製作一個方法,該方法會根據2個座標放置一個穿過此數組的線。該守則將是這個樣子:
public void drawLine(int x1, int y1, int x2, int y2) {
...
}
,並會傳遞這樣的事情:
int[] array = {
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
進入這個:
int[] array = {
1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0,
0, 0, 0, 0, 1
};
你必須要能夠在任何一組通的座標並通過陣列放置一條計算出的線。我將如何實現這一點?
調用的drawLine(1,0,3,4)將創建類似:
int[] array = {
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0,
0, 0, 0, 1, 0
};
此外,如果你到它是存在的,我可以指定任意數量的點,並把它們都連接方式然後填寫? (不,我不想使用任何庫)。
[Bresenham's line algorithm](https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm)對於繪製線條很有用。 – MikeCAT
'drawiLine(1,0,2,4)'的輸入怎麼樣?至少對我而言,沒有通用的解決方案,因爲不清楚「任何一組座標」的結果如何。 – SomeJavaGuy
'y'座標在一維數組中沒有意義。 – Berger