跳转到主要内容

布里森汉姆直线绘制算法的实现

项目描述

布里森汉姆模块

布里森汉姆直线绘制算法的简单实现。

有关详细信息,请参阅 维基百科条目

请注意,这是一个简单的实现。它使用纯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 查看哈希值)

上传时间 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面