-3
おはようございます、Bresenham線アルゴリズム
私はbresenham線方程式のアルゴリズムを完了するのに苦労しています。
出力は黒で出力され、期待される出力は白です。 bresenhamアルゴリズムは、四角形の中央にある2つの対角線を印刷するために使用されます。誰かがそれを修正するために私のコードで私を修正してください。
注
BXは、Yについても同様に、X2とX1 super.x と等価です。
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 –