Metadata-Version: 2.1
Name: pydrawgen
Version: 0.1.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy >=2.0.2
Requires-Dist: opencv-python >=4.0.1
Requires-Dist: matplotlib >=3.10.8

# About This
A package created for the purpose of the generation of random maps/images. Utilizes numpys for image storage and openCV for visualization. Built around a Canvas class that adds functionality for "drawing" to a numpy. 
## Included modules
Includes 4 modules: drawHelper, dataGen, pathfinding, and pynputHelper. drawHelper is the main module containing the Canvas class with contain important drawing functions, saving functions, and visualization. dataGen allows for the random generation of canvases utilizing drawHelper. pathfinding implements an a* algorithm for finding an optimal path between a source point and a destination point. pynputHelper includes a few helper functions that allow for an abstracted usage of pynput handling initialization etc. 
## Important functions to start
Initialize a Canvas object - Canvas(width, height, color_channels, pixel_to_point_ratio) Note: Currently pixel_to_point_ratio is incomplete and recommended to be set to one.  
Generate a random Canvas - randomizer(canvas: dh.Canvas,
    object_size = 1, 
    allow_intersection = False,
    choices: list = [1,2,3,4,5], 
    weights = [0.1,0.2,0.3,0.2,0.1],
    ratio_rangeA = 0.1,
    ratio_rangeB = 1.0,
    circle_size_rangeA = 1/12, 
    circle_size_rangeB = 1/6,
    margin_start_widthC = 1/9,
    margin_end_widthC = 8/9,
    margin_start_heightC = 1/9,
    margin_end_heightC = 8/9,
    margin_start_widthR = 1/9,
    margin_end_widthR = 5/9,
    margin_start_heightR = 1/9,
    margin_end_heightR = 5/9,
    add_rangeAW = 1/12, 
    add_rangeBW = 1/3, 
    add_rangeAH = 1/12, 
    add_rangeBH = 1/3)  
Utilize A* algorithm - a_star_algorithm(canvas: dh.Canvas, src, dest)
# Contact Me
Email - DMGsquaredbusiness@gmail.com
