假设我有给定的数组:绘制图形为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