在如有必要,交换两点[202302141825] 中,已经考虑了如果 x0 > x1 ,就交换起始点和终点,所以直线x的移动方向必然是从左往右。
接下来只需要确定直线 x 的范围:
直线 x 的最左侧是起始点 (x0, y0)的 x分量 x0
直线 x 的最右侧是终止点 (x1, y1)的 x分量 x1

在代码中使用for循环来描述此表达式。
// 上一节的代码
// 确保 x0 <= x1
if (x0 > x1)
{
swap(x0, x1);
swap(y0, y1);
}
// 更新值
dx = x1 - x0;
dy = y1 - y0;
// 直线x的范围
for(int x = x0; x <= x1; x++)
{
}
该for循环的循环范围可以转换成一个数学表达式:
x0 ≤ x ≤ x1表示直线x的最左侧为x0,最右侧为x1
而直线 y的移动方向就需要进一步确定,下一节确定y的移动方向[202302151628] 介绍。