Metadata-Version: 2.4
Name: collide
Version: 0.1.0
Summary: A collision detection package
Home-page: https://github.com/LYC/collide
Author: Liu
Author-email: L12y04c24@163.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

The Group and Collide classes form a modular 2D collision detection system with clear separation of concerns.
Group serves as a data container managing coordinate points and geometric shape creation. 
It supports rectangle, circle, triangle, and polygon generation through the create_shape() method, handling vertex storage, validation, and basic point operations (add/clear/get). 
For circular shapes, the num_vertices parameter controls polygon approximation precision (typically 8-32 vertices).
Collide acts as a stateless utility class providing five core static methods: 
is_colliding_with() uses the Separating Axis Theorem to detect shape intersections; 
contains_point() implements ray-casting algorithm for point-in-polygon tests;
get_bounding_box() computes axis-aligned bounding boxes; 
get_collision_points() identifies intersection coordinates between shapes; 
And contains_shape() verifies full containment of one shape within another.
This architecture enables flexible integration into games, simulations, and interactive applications, balancing computational efficiency with geometric accuracy through robust floating-point tolerance handling and optimized projection calculations.
