#vector #physics #basic

yanked vext

Basic Physics 'Vector' Library

0.1.20 May 26, 2019
0.1.19 May 26, 2019

#257 in #physics

41 downloads per month

MIT license

10KB
234 lines

vext

Basic Physics 'Vector' Library

Usage

Add the following to your Cargo.toml:

[dependencies]
vext = "0.1.20"

and this to your crate root:

extern crate vext;

Example

use vext::*;

fn main() {
    let mut vec2 = Vector2::new(25.0, 50.0);
    vec2.set(125.0, vec2.y()); // Sets x to 125 and y to previous y value: 50

    let (x, _y) = vec2.get();

    let vec3 = Vector3::new(x, 25.0, 100.0);

    let vec3_2 = vec2.to_v3(5.0); // Creates Vector3 with xy of v2 and z of 5
    let mut vec3_3 = Vector3::from(vec2); // Creates a Vector3 with xy of v2 and z of 0
    vec3_3.set(vec3_3.x(), vec3_3.y(), 35.0); // Sets xy to previous and z to 35

    let vec3_4 = vec3_2 + vec3_3;
    let direction = vec3_4.normalize(); // Get pointing direction of Vector3

    let string: String = direction.to_string(); // Not required for println!() but you can to_string() if needed
    println!("vec2: {}\nvec3: {}\nmagnitude: {}", vec2, vec3, string); // Prints whole vectors
    println!("vec3_2 x: {}", vec3_2.x()); // Prints single vector magnitude
}

No runtime deps