Итак, я хочу создать массив [64] [64] из 0 в java и создать здесь треугольник. Я имею в виду что-то вроде:Создайте треугольник из двух в двумерном массиве
0001000
0010100
0100010
1111111
Так что я создал точку класса:
public class Point {
public int x;
public int y;
Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
И я создаю в основных новых точек объектов таким образом:
int amountOfPowers = 6;
Point a = new Point((int) (Math.pow(2, amountOfPowers))/2, 0);
Point b = new Point((int) Math.pow(2, amountOfPowers), (int) (Math.pow(2, amountOfPowers) * Math.sqrt(3.0)/2));
Point c = new Point(0, (int) (Math.pow(2, amountOfPowers) * Math.sqrt(3.0)/2));
Так это (0, 64)
, B - (64, 64)
и C - (32, 55)
. Кто-нибудь знает, как я могу писать все позиции в массиве от 0,64 до 64,64 как 1? (что-то вроде [0][64] = 1, [1][64] = 1, ..., [64][64] = 1
). А также как я могу создавать линии из от (0,64) до (32, 55) и от (32, 55) до (64, 64). Кто-нибудь знает, как я могу это сделать?
@edit
Я пытался использовать его: https://en.wikipedia.org/wiki/Line_drawing_algorithm
Вот мой метод:
static void drawLine(Point from, Point to) {
// https://en.wikipedia.org/wiki/Line_drawing_algorithm
int dx = to.x - from.x;
int dy = to.y - from.y;
for (int x = from.x; x < to.x; x++) {
int y = from.y + dx * (x - from.x)/dy;
System.out.println("X: " + x + " Y: " + y);
canvas[x][y] = 1;
}
}
Я написал это в основной:
drawLine(a, b);
drawLine(b, c);
drawLine(c, a);
И вот мой результат:/Это что-то не так.
0000000000000000000000000000000000000000000000000000000100000000
0000000000000000000000000000000000000000000000000000000100000000
0000000000000000000000000000000000000000000000000000001000000000
0000000000000000000000000000000000000000000000000000001000000000
0000000000000000000000000000000000000000000000000000010000000000
0000000000000000000000000000000000000000000000000000010000000000
0000000000000000000000000000000000000000000000000000100000000000
0000000000000000000000000000000000000000000000000001000000000000
0000000000000000000000000000000000000000000000000001000000000000
0000000000000000000000000000000000000000000000000010000000000000
0000000000000000000000000000000000000000000000000010000000000000
0000000000000000000000000000000000000000000000000100000000000000
0000000000000000000000000000000000000000000000000100000000000000
0000000000000000000000000000000000000000000000001000000000000000
0000000000000000000000000000000000000000000000010000000000000000
0000000000000000000000000000000000000000000000010000000000000000
0000000000000000000000000000000000000000000000100000000000000000
0000000000000000000000000000000000000000000000100000000000000000
0000000000000000000000000000000000000000000001000000000000000000
0000000000000000000000000000000000000000000010000000000000000000
0000000000000000000000000000000000000000000010000000000000000000
0000000000000000000000000000000000000000000100000000000000000000
0000000000000000000000000000000000000000000100000000000000000000
0000000000000000000000000000000000000000001000000000000000000000
0000000000000000000000000000000000000000001000000000000000000000
0000000000000000000000000000000000000000010000000000000000000000
0000000000000000000000000000000000000000100000000000000000000000
0000000000000000000000000000000000000000100000000000000000000000
0000000000000000000000000000000000000001000000000000000000000000
0000000000000000000000000000000000000001000000000000000000000000
0000000000000000000000000000000000000010000000000000000000000000
0000000000000000000000000000000000000100000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000
0100000000000000000000000000000000000000000000000000000000000000
0100000000000000000000000000000000000000000000000000000000000000
0010000000000000000000000000000000000000000000000000000000000000
0010000000000000000000000000000000000000000000000000000000000000
0001000000000000000000000000000000000000000000000000000000000000
0000100000000000000000000000000000000000000000000000000000000000
0000100000000000000000000000000000000000000000000000000000000000
0000010000000000000000000000000000000000000000000000000000000000
0000010000000000000000000000000000000000000000000000000000000000
0000001000000000000000000000000000000000000000000000000000000000
0000001000000000000000000000000000000000000000000000000000000000
0000000100000000000000000000000000000000000000000000000000000000
0000000010000000000000000000000000000000000000000000000000000000
0000000010000000000000000000000000000000000000000000000000000000
0000000001000000000000000000000000000000000000000000000000000000
0000000001000000000000000000000000000000000000000000000000000000
0000000000100000000000000000000000000000000000000000000000000000
0000000000010000000000000000000000000000000000000000000000000000
0000000000010000000000000000000000000000000000000000000000000000
0000000000001000000000000000000000000000000000000000000000000000
0000000000001000000000000000000000000000000000000000000000000000
0000000000000100000000000000000000000000000000000000000000000000
0000000000000100000000000000000000000000000000000000000000000000
0000000000000010000000000000000000000000000000000000000000000000
0000000000000001000000000000000000000000000000000000000000000000
0000000000000001000000000000000000000000000000000000000000000000
0000000000000000100000000000000000000000000000000000000000000000
0000000000000000100000000000000000000000000000000000000000000000
0000000000000000010000000000000000000000000000000000000000000000
0000000000000000001000000000000000000000000000000000000000000000
У кого-нибудь есть идея, как я могу решить свою проблему? :/
Вы слышали о цикле 'for' в java? – LEQADA
Да, я слышал. Но как ваш комментарий должен мне помочь? ...... –
Мы здесь не для того, чтобы делать домашнее задание! –