Bresenham&ŧ039;s线算法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bresenham&ŧ039;s线算法相关的知识,希望对你有一定的参考价值。
def bresenham_line((x,y),(x2,y2)): """Brensenham line algorithm""" steep = 0 coords = [] dx = abs(x2 - x) if (x2 - x) > 0: sx = 1 else: sx = -1 dy = abs(y2 - y) if (y2 - y) > 0: sy = 1 else: sy = -1 if dy > dx: steep = 1 x,y = y,x dx,dy = dy,dx sx,sy = sy,sx d = (2 * dy) - dx for i in range(0,dx): if steep: coords.append((y,x)) else: coords.append((x,y)) while d >= 0: y = y + sy d = d - (2 * dx) x = x + sx d = d + (2 * dy) coords.append((x2,y2)) return coords
以上是关于Bresenham&ŧ039;s线算法的主要内容,如果未能解决你的问题,请参考以下文章