A very simple implementation of Bresenham algorithm implementations
Project description
Simple Bresenham implementation
This is a very simple Bresenham implementation for enumerating pixels along a line including a very simple anti aliased version. It's the felt infinite implementation out there and has been implemented during enhancement of a tomography reconstruction library for personal use.
Dependencies
numpy >= 1.25
Installation
pip install pybresenham-tspspi
Usage
Simple lines
import matplotlib.pyplot as plt
import numpy as np
from bresenham.bresenham import trace_line
fig, ax = plt.subplots()
img = np.zeros((51, 21))
for pt in trace_line((-25,-10),(10,10)):
img[int(pt[0]) + 25, int(pt[1]) + 10] = 1
ax.imshow(img)
Simple lines using callbacks
from bresenham.bresenham import trace_line
def mycallback(point):
print(f"Point at {point[0]} x {point[1]}")
trace_line((-25,-10),(10,10),mycallback)
Antialiased lines
import matplotlib.pyplot as plt
import numpy as np
from bresenham.bresenham import trace_line_antialiased_it
fig, ax = plt.subplots()
imgaa = np.zeros((51, 21))
for pt, weight in trace_line_antialiased_it((-25,-10),(10,10)):
imgaa[int(pt[0]) + 25, int(pt[1]) + 10] = weight
ax.imshow(imgaa)
Antialiased lines using callbacks
from bresenham.bresenham import trace_line_antialiased
def mycallback(point, weight):
print(f"Point at {point[0]} x {point[1]} with weight {weight}")
trace_line_antialiased((-25,-10),(10,10),mycallback)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for pybresenham_tspspi-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b927951ce5298006160821066c69355ccafdf83fa6f3d68add985b497f8d13ad |
|
MD5 | cfc0246f564750080dd4852121740a8c |
|
BLAKE2b-256 | 828156c8b872d10c377210b1f83617a47ad958e4b01e5b0f4428cc39bf0838f4 |