我目前正在学习图形入门课程,学习如何使用Bresenham算法绘制直线。现在我必须承认,我的学习习惯是在谷歌上搜索额外的笔记,因为有时课堂笔记还不够。
我知道,使用一般的Bresenham算法,你通常可以画出第一个八分音符,而为了画出其他八分音符你必须做一些奇特的技巧。
现在,我真正的问题是如何理解在第七个八度音阶中画一条线背后的概念。根据这些注释
https://courses.engr.illinois.edu/ece390/lecture/potts/lecture17_6pps.pdf
我在网上找到的(请参阅pdf中的第14页和第15页以获得更清晰的信息)如果你想画第七个八分音符,你必须交换x1,y1和x2,y2;然后将X递增-1并最终将像素设置为set_pixel(y。然而,这就是我的困惑所在,在第14页上,它显示了一个用第七个八分之一绘制的例子,为什么dx等于正6而不是负6?dx不是x2-x1吗?
距离是坐标差的绝对值。我认为在同一幻灯片的后期版本中(在幻灯片9上),他们将其更改为dx=|X2-X1|
,这是正确的表示法。