vector3

A library for dealing with 3D mathematical vectors

5 stable releases

1.1.4 Mar 15, 2022
1.1.3 Mar 13, 2022

#637 in Math

MIT license

7KB
177 lines

vector3

What is it?

vector3 is a rust library for dealing with 3D mathematical vectors.

What does it do?

vector3 allows for creation of three dimensional vectors as well as performing arithmetic operaitons on them, some of which are: addition, subtraction, multiplication, division of the magnitude, cross and dot prodcuts and normalizaton.

How do I get started?

Make sure you have a project set up using cargo then:

If using cargo-edit:

cd into the said project directory and execute

cargo add vector

If not using cargo-edit:

Go to this crate's crates.io page and look right

Examples:

let a = Vector3::from_i32(1, 2, 3);
let b = Vector3::from_i32(1,2,3);

assert_eq!(a.dot(&b), 14.0);
let a = Vector3::from_i32(1, 2, 3);
let b = Vector3::from_i32(3, 2, 1);

assert_eq!(a.cross(&b), Vector3::from_i32(-4, 8, -4));
let a = Vector3::from_i32(1, 0, 0);
let b = Vector3::from_i32(0, 0, 1);

assert_eq!(a.angle(b) * (180.0 / PI), 90.0);

No runtime deps