我正在寻找一个基本版本的 bresenham 线算法的方程,如果 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);
}
我正在寻找的是一种在不运行算法且仅使用整数数学的情况下确定步长(Y 轴)的值在特定 X 值处的方法。
这样做的原因是我有一个可以暂停的系统,但只返回当前的 X 值(不是 Y),当这种情况发生时我需要计算出 Y 值。
戴夫