rs-math3d 0.10.0

Rust 3D Math (no dependency on std)
Documentation
# rs-math3d

rs-math3d is a no_std-friendly 2D/3D math library focused on computer graphics and geometry.
It provides vectors, matrices, quaternions, transforms, and common geometric primitives with
utility traits for intersection and distance queries.

## Features

- Vector math (2D/3D/4D), dot/cross products, swizzles, safe normalization helpers
- Matrix math (2x2/3x3/4x4), determinants, inverses, affine fast-paths
- Quaternions for rotations and matrix conversions
- Transform helpers: translate, scale, rotate, project/unproject, lookat
- Geometric primitives: rays, planes, triangles, boxes, spheres, line segments
- Query traits for intersection and distance computations
- no_std support with an optional std feature

## Usage

Add to Cargo.toml:

```toml
[dependencies]
rs-math3d = { version = "0.10", default-features = false }
```

To enable std-backed math functions:

```toml
rs-math3d = { version = "0.10", features = ["std"] }
```

## Example

```rust
use rs_math3d::vector::Vector3;
use rs_math3d::transforms;
use rs_math3d::EPS_F32;

fn main() {
    let axis = Vector3::new(0.0f32, 1.0, 0.0);
    let rot = transforms::rotation_from_axis_angle(&axis, 1.0, EPS_F32)
        .expect("axis length too small");
    let trans = transforms::translate(Vector3::new(1.0f32, 2.0, 3.0));

    let m = trans * rot;
    let p = Vector3::new(1.0f32, 0.0, 0.0);
    let out = m * p;

    println!("{out:?}");
}
```

## Modules

- vector: vector types and operations
- matrix: matrix types and operations
- quaternion: quaternion math for rotations
- transforms: common 3D transforms
- primitives: geometric shapes and intersection helpers
- queries: query traits and implementations
- basis: coordinate system basis helpers
- scalar: scalar traits and constants