Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gridpath2

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gridpath2

GridPath is a Python library for calculating grid-based paths and intersection points between two coordinates. It's particularly useful for applications requiring precise path tracking on a grid system, such as robotics, game development, or computer graphics.

  • 0.1.3
  • PyPI
  • Socket score

Maintainers
1

gridpath2

GridPath is a Python library for calculating grid-based paths and intersection points between two coordinates. It's particularly useful for applications requiring precise path tracking on a grid system, such as robotics, game development, or computer graphics.

Features

  • Calculate grid-aligned paths between any two points
  • Determine exact intersection points with grid lines
  • Support for horizontal, vertical, and diagonal paths
  • Handle special cases like same-point paths and 45-degree angles
  • Return both grid points and precise intersection coordinates

Installation

pip install gridpath2

Usage

Basic usage example:

from gridpath2 import grid

# Calculate path between two points
result = grid(x1=1.5, y1=2.3, x2=4.7, y2=6.8)

# Access the results
grid_points = result["grid"]      # List of grid points traversed
intersections = result["intersect"] # List of exact intersection points

The function returns a dictionary containing:

  • grid: List of grid points the path traverses through
  • intersect: List of exact coordinates where the path intersects with grid lines

Example Scenarios

  1. Horizontal path:
path = grid(1.5, 2.0, 4.5, 2.0)
# Returns path along y=2
  1. Vertical path:
path = grid(2.0, 1.5, 2.0, 4.5)
# Returns path along x=2
  1. Diagonal path (45 degrees):
path = grid(1.0, 1.0, 3.0, 3.0)
# Returns diagonal path with slope=1
  1. General case:
path = grid(1.5, 2.3, 4.7, 6.8)
# Returns optimal grid path with precise intersections

Function Details

def grid(x1: float, y1: float, x2: float, y2: float) -> dict:
    """Calculate grid path and intersection points between two coordinates.

    Args:
        x1, y1: Starting point coordinates
        x2, y2: Ending point coordinates

    Returns:
        dict: Dictionary containing:
            - "grid": List of grid points [[x1, y1], [x2, y2], ...]
            - "intersect": List of intersection points [[x1, y1], [x2, y2], ...]
    """

Technical Details

The library handles several special cases:

  • Same point paths
  • Horizontal lines
  • Vertical lines
  • 45-degree diagonal lines
  • General cases with arbitrary slopes

For general cases, the algorithm:

  1. Calculates the slope between points
  2. Determines the next grid intersection based on slope direction
  3. Tracks both grid points and exact intersections
  4. Handles positive and negative slopes differently
  5. Provides precise intersection coordinates

Use Cases

  • Robot path planning
  • Game development (grid-based movement)
  • Computer graphics (line rasterization)
  • Scientific visualization
  • CAD applications

Requirements

  • Python 3.6+

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc