-3
好日子全部,Bresenham线算法
我很努力地完成一个bresenham线方程的算法。
我得到的输出是黑色的输出,预期的输出是白色的。 bresenham算法用于在矩形中间打印两条对角线。有人可以请我纠正我的代码,以解决它。
注:
BX相当于X2和X1 super.x同样 y的。
public void draw(char [][] matrix) {
yCoord = super.y;
xCoord = super.x;
deltaX = Math.abs(bx - xCoord);
deltaY = Math.abs(by - yCoord);
int sx = xCoord < bx ? 1 : -1;
int sy = yCoord < by ? 1 : -1;
delta = deltaX - deltaY;
int err2;
while (true) {
matrix[xCoord][yCoord] = '*';
if (xCoord == bx || yCoord == by) {
break;
}
err2 = 2*delta;
if (err2 > -deltaY) {
delta -= deltaY;
xCoord += sx;
} else if (err2 < deltaX) {
delta += deltaX;
yCoord += sy;
}
}
}
我不确定如何使用终端而不是IDE用于此特定输出,并且没有使用终端或调试的先验知识他们 –
你是认真的吗?您正在设置带有星号的像素,这些像素没有理由在黑色上显示为白色。用星号填充图像并用空格绘制。 –
我的项目的部分细节。没有多少我可以做@ YvesDaoust –