5 个不稳定版本

0.3.1 2021 年 9 月 22 日
0.3.0 2021 年 9 月 22 日
0.2.0 2021 年 8 月 27 日
0.1.2 2021 年 8 月 14 日

模拟 中排名 #398

MIT 许可证

350KB
956

veccentric

docs.rs crates.io

小巧的 2D 向量库。灵感来自 p5.jsp5.Vector

用法

veccentric 添加到您的 Cargo.toml

[dependencies]
veccentric = "0.3"

Vecc<T> 的基本算术运算。

use veccentric::Vecc;

let a = Vecc::new(3_i32, 4);
let b = a * 5;
let c = Vecc::new(-10, -8);
let d = b - c;
let e = -d;

Fecc 扩展 API。

use veccentric::Fecc;

let a: Fecc = (3.0, 4.0).into();
let b = a / 0.2;
let c = b.limit(20.0);
let d = c.rotate(PI);
let e = d.turn(0.0);

查看更多示例。


lib.rs:

小巧的 2D 向量库。灵感来自 p5.jsp5.Vector

主要类型,Vecc<T>,是一个泛型结构体,实现了许多有用的特性和运算符重载。 FeccVecc<f64> 的别称。它有一个扩展 API,灵感主要来自 p5.Vector

特性

开启 random 特性为 Fecc 提供了额外的功能: from_rngfrom_seedfrom_entropy

开启 all 特性仅开启 random

注意

一些示例使用了 float_cmp::assert_approx_eq

示例

use veccentric::Fecc;

let a = Fecc::new(3.0, 4.0);
assert_approx_eq!(f64, a.mag(), 5.0);

let five_a = a * 5.0;
assert_approx_eq!(f64, five_a.mag(), 25.0);

let b = Fecc::new(-3.0, 0.0);
let c = a + b; // (0.0, 4.0)
assert_approx_eq!(f64, c.angle(), PI / 2.0);

更多示例请访问 Vecc 的文档仓库

依赖