X 値がわかっている場合に Y 値の位置を計算できる、ブレセンハム ライン アルゴリズムの基本バージョンの方程式を探しています。
X は常に正で、常に Y よりも大きくなります。ループは、最後に到達するまで X に 1 を追加するだけです。
これが私のコードです:
int err = (Y << 1) - X;
for(i=0; i<=X; i++)
{
if(err > 0)
{
step++;
err = (err - (X << 1)) + (Y << 1);
}
else
{
err = err + (Y << 1);
}
printf("X=%d Y=%d\n", i, step);
}
私が探しているのは、アルゴリズムを実行せずに整数演算のみを使用して、特定の X 値でステップ (Y 軸) の値が何であるかを把握する方法です。
この理由は、一時停止できるシステムがあるためですが、現在の X 値 (Y ではなく) のみを返し、これが発生したときに Y 値を把握する必要があります。
デイブ