coord2d

Crates.iocoord2d
lib.rscoord2d
version0.4.0-1
sourcesrc
created_at2021-04-12 18:10:47.40325
updated_at2024-11-26 12:33:57.422099
descriptionrust lib for coordinate in 2d system
homepage
repositoryhttps://github.com/abdellatif-dev/coord2d
max_upload_size
id382505
size21,263
abdellatif Temsamani (abdellatif-temsamani)

documentation

https://docs.rs/coord2d/0.2.7/coord2d/

README

Coord2d

Crate Status docs.rs License

A Rust library for working with 2D coordinates and vectors.

Overview

Coord2D provides a robust and flexible way to manage and manipulate 2D coordinates and vectors in Rust. It supports various mathematical operations, type conversions, and vector properties like magnitude and midpoint, making it ideal for 2D geometry computations.

Features

  • Coordinate Management: Define and manipulate 2D coordinates with ease.
  • Mathematical Operations: Perform addition, subtraction, multiplication, and division on coordinates.
  • Type Flexibility: Supports multiple integer and floating-point types, such as i32, f32, usize, and more.
  • Vector Utilities: Calculate magnitude, midpoint, and more.
  • Conversions: Convert coordinates to vectors, tuples, or Vec formats.
  • Extensible: Designed with modularity to support future enhancements like shapes.

Getting Started

Add coord2d to your Cargo.toml:

[dependencies]
coord2d = "*"

Examples

Working with Coordinates

use coord2d::*;

fn main() {
    let a: coord::Coord = new_coord!(1, 2.0);
    let b: coord::Coord = new_coord!(3, 4.5);
}

Working with Vectors

use coord2d::*;

fn main() {
    let a: coord::Coord = new_coord!(2.5, 3.3);
    let b: coord::Coord = new_coord!(1.0, 1.5);

    let vector: vector::Vector = new_vector!(a, b);

    let magnitude = vector.get_magnitude(); // Calculate magnitude
    let midpoint = vector.get_midpoint(); // Get midpoint

    println!("Magnitude: {}", magnitude);
    println!("Midpoint: {:?}", midpoint);
}

Planned Features

  • 2D Shapes: Add support for shape creation and manipulation.
  • Code Cleanup: Refactor and clean up the codebase.

Contributing

We welcome contributions to improve coord2d. If you have ideas or spot issues:

  1. Open an issue on GitHub.
  2. Submit a pull request with your changes.

License

This project is licensed under the GPL License.

Enjoy using coord2d for your projects? Give us a star! 🌟

Commit count: 141

cargo fmt