一个Python模块,用于生成各种矢量形状(如线条、矩形等)的x,y坐标。以著名的线算法Bresenham命名。
项目描述
一个Python模块,用于生成各种矢量形状(如线条、矩形等)的x,y坐标。以著名的线算法Bresenham命名。
例如
>>> import pybresenham >>> pybresenham.line(0, 0, 3, 6) <generator object line at 0x00000000030923B8> >>> list(pybresenham.line(0, 0, 3, 6)) [(0, 0), (0, 1), (1, 2), (1, 3), (2, 4), (2, 5), (3, 6)]
PyBresenham目前正在开发中,并寻求贡献者!
安装
pip install pybresenham
快速入门指南
获取从(0, 0)到(5, 10)的线条点
>>> import pybresenham >>> for x, y in pybresenham.line(0, 0, 5, 10): ... print('(%s, %s)' % (x, y)) ... (0, 0) (0, 1) (1, 2) (1, 3) (2, 4) (2, 5) (3, 6) (3, 7) (4, 8) (4, 9) (5, 10) >>> list(pybresenham.line(0, 0, 5, 10)) [(0, 0), (0, 1), (1, 2), (1, 3), (2, 4), (2, 5), (3, 6), (3, 7), (4, 8), (4, 9), (5, 10)]
获取从(0, 0)到(2, 0)到(2, 2)的多线条点
>>> import pybresenham >>> list(pybresenham.lines([(0, 0), (2, 0), (2, 2)])) [(0, 0), (1, 0), (2, 0), (2, 1), (2, 2)]
获取以(0, 0)为中心、半径为3的圆的点
>>> list(pybresenham.circle(0, 0, 3)) [(0, -3), (3, 0), (0, 3), (1, -3), (3, -1), (3, 1), (-1, 3), (-3, -1), (-3, 1), (-1, -3), (1, 3), (2, -2), (2, 2), (-2, 2), (-2, -2)]
快速绘制上述圆
>>> import pybresenham >>> pybresenham._drawPoints(pybresenham.circle(0, 0, 3), bg=' ') OOO O O O O O O O O O O OOO
快速绘制正方形和矩形
>>> import pybresenham >>> list(pybresenham.square(0, 0, 4)) [(0, 0), (1, 0), (2, 0), (3, 0), (3, 1), (3, 2), (3, 3), (2, 3), (1, 3), (0, 3), (0, 2), (0, 1)] >>> pybresenham._drawPoints(pybresenham.square(0, 0, 4), bg=' ') OOOO O O O O OOOO >>> pybresenham._drawPoints(pybresenham.rectangle(0, 0, 15, 4), bg=' ') OOOOOOOOOOOOOOO O O O O OOOOOOOOOOOOOOO>>> drawPoints(polygon(10, 10, 8, 5), bg=' ') O O O O OO O O OO O O O O O O O O O O O O O O O O O O O OOOOOOOOO>>> drawPoints(polygon(10, 10, 8, 5, rotationDegrees=20), bg=' ') OO O OOO O OO O OO O O O O O O O O O O O O O O O OO O OO O OOO OO
路线图
以下功能尚未实现
ellipse()
ellipseVertices()
arc()
arcVertices()
star()
starVertices()
hexGrid()
hexGridVertices()
hexGridInterior()
bezier()
bezierVertices()
roundedBox()
roundedBoxVertices()
参数 厚度、填充、端帽 和 视口 仍未实现。(除了 square() 和 rectangle(),它们实现了 填充 参数。)
项目详情
关闭
PyBresenham-0.0.7.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 955626c635a2b9c88de607d7e3db3105ef297a3d69589544f5983c4db8253943 |
|
MD5 | bf6cce5f7919b77adc70de8402e28731 |
|
BLAKE2b-256 | 8d79e867c1e56c4de6e1e0312e2ff44f1222eacbf1f6265c0666d468ced34e43 |