布里森汉姆直线绘制算法的实现
项目描述
布里森汉姆模块
布里森汉姆直线绘制算法的简单实现。
有关详细信息,请参阅 维基百科条目。
请注意,这是一个简单的实现。它使用纯Python编写(不使用例如 numpy),因此相对较慢。
我发现将经典算法(其巧妙之处在于仅使用整数——一个现在不再真正相关的约束)与Python生成器(一种遵循“可执行伪代码”精神的现代设备)结合起来是一种美。我希望其他人也能欣赏这段代码。
对于严重用途,请查看这些
skimage.draw.line,它以 快速 解决相同的问题。
一个基于 Numpy 的食谱,它将解决方案推广到 N 维。
安装
在Python虚拟环境中,执行以下操作
python -m pip install bresenham
要从Git检查点安装(以可编辑模式安装)
python -m pip install -e.
要在没有虚拟环境的情况下安装,请添加 --user 选项。
用法
函数 bresenham(x0, y0, x1, y1) 返回从 (x0, y0) 到 (x1, y1) 的线的坐标生成器。
例如,从 (-1, -4) 到 (3, 2) 的线的坐标是
>>> from bresenham import bresenham >>> list(bresenham(-1, -4, 3, 2)) [(-1, -4), (0, -3), (0, -2), (1, -1), (2, 0), (2, 1), (3, 2)]
开发
欢迎您加入此项目!
如果您发现任何问题,请在Github上的 问题页面 上报告。
如果您想开始修改代码或文档,请使用以下方法在本地查看代码:
git clone https://github.com/encukou/bresenham
如果您是新手,请阅读有关在像这样的Github托管项目中协作的本指南。
如果这还不明白,请发送电子邮件给作者寻求澄清。我很乐意帮助您开始。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码发行版
此版本没有可用的源代码发行版文件。请参阅有关生成发行版存档的教程。
构建版本
bresenham-0.2.1-py3-none-any.whl (3.7 kB 查看哈希值)