| Crates.io | avila-vec3d |
| lib.rs | avila-vec3d |
| version | 0.1.0 |
| created_at | 2025-12-04 22:41:52.552084+00 |
| updated_at | 2025-12-04 22:41:52.552084+00 |
| description | 3D math library - vectors, matrices, quaternions, AABB, ray casting - 100% Rust |
| homepage | |
| repository | https://github.com/avilaops/arxis |
| max_upload_size | |
| id | 1967250 |
| size | 31,282 |
3D Mathematics Library - 100% Rust, Zero Dependencies
Foundational 3D math types for graphics, games, and BIM applications.
use avila_vec3d::{Vec3, Mat4, Quat, Aabb};
// Vector operations
let v1 = Vec3::new(1.0, 2.0, 3.0);
let v2 = Vec3::new(4.0, 5.0, 6.0);
let dot = v1.dot(v2);
let cross = v1.cross(v2);
// Matrix transformations
let translation = Mat4::translation(Vec3::new(10.0, 0.0, 0.0));
let rotation = Mat4::rotation_y(std::f32::consts::PI / 2.0);
let transform = translation * rotation;
// Quaternions
let q = Quat::from_axis_angle(Vec3::Y, std::f32::consts::PI / 4.0);
let rotated = q.rotate_vec3(Vec3::X);
// Bounding boxes
let mut aabb = Aabb::EMPTY;
aabb.expand_point(Vec3::new(1.0, 2.0, 3.0));
aabb.expand_point(Vec3::new(4.0, 5.0, 6.0));
println!("Center: {:?}", aabb.center());
Only uses serde for serialization (optional feature).
MIT OR Apache-2.0