-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 –