孤星星 发表于 2023-4-21 23:17:28

布雷森汉姆直线算法

最近尝试学“布雷森汉姆直线算法”(Bresenham's line algorithm),是用来描绘由两点所决定的直线的算法。



简单来说,代码是这样的:
plotLine(x0, y0, x1, y1)
    dx = x1 - x0
    dy = y1 - y0
    D = 2*dy - dx
    y = y0

    for x from x0 to x1
      plot(x, y)
      if D > 0
            y = y + 1
            D = D - 2*dx
      end if
      D = D + 2*dy

plot(x,y)是在X,Y位置画一个点。

但以上并不完整,还需plotLineLow和plotLineHigh.

很开心,原来以前有人发明的了,只需明白原理后编写程序即可。

simonzhd 发表于 2023-4-22 09:37:04

{:10_512:}

孤星星 发表于 2023-4-22 13:23:39

simonzhd 发表于 2023-4-22 09:37


谢谢站长加分!

蓝莓糖 发表于 2023-4-25 10:46:06

很不错,棒棒哒!孤星学习能力很强。

孤星星 发表于 2023-4-25 14:00:58

蓝莓糖 发表于 2023-4-25 10:46
很不错,棒棒哒!孤星学习能力很强。

谢谢蓝莓糖的称赞,你还是那么热心,那么有动力。
页: [1]
查看完整版本: 布雷森汉姆直线算法