2 个版本
| 0.1.2 | 2023 年 7 月 13 日 |
|---|---|
| 0.1.1 | 2023 年 7 月 13 日 |
| 0.1.0 |
|
#282 在 图形 API
41KB
802 行
Vector2d 库
以下库是为处理动画库中的 vector 而创建的,其中我们放置我们的 engine。该库有多个模块和支持
变更日志
-
2023-07-13 20:32:vectorlib已准备部署。
-
2023-07-12 22:53:- 现在已完成了对
.add()方法和所有给定操作(加法、减法、乘法、除法)的操作符的实现
- 现在已完成了对
-
2023-07-12 23:22:- 已完成添加
verboseVectors,这将让我们知道当向量从内存中释放时(对于调试很有用)。 - 实现所有相关方法的测试。
- 已完成添加
-
2023-07-10 21:36:30:- 创建
vectorlib的结构体 - 支持单元测试和库文档测试。
- 导入到
Enginecrate 中,用于我们的动画平台。
- 创建
备注
-
2023-07-12 22:24:- 对于
verboseVectors,我使用了 vector2d 的组合和构建,这是必要的,因为我不能为Vector2d的结构体添加另一个名为verbose的字段(例如,Add、Sub、Div和Mul只需要两个字段)。 - 为了实现
verboseVectors的std::fmt::Display,我找到了一种创造性的方法来提取Some(vector),因为Option没有实现Display特性,请查看verbose_vector2d_module.rs模块末尾的std::fmt::Display特性。
- 对于
-
2023-07-10 22:49:26:- 到目前为止,
Vector2d支持- 向量的(+,-,*,/)运算符
- 输入可以是向量或标量
.add()、.div()、.mul()和.sub()只接受Vector2d,不能接受标量- 这意味着
let s = v.div(8.0)将不会工作。
- 这意味着
- 向量的(+,-,*,/)运算符
- 到目前为止,
特性
- 向量的通用格式
- 日志记录和错误处理,例如检查
vectorResult - 支持在调试模式中显示的特性。
- 对向量的(+)/(-)/(/)/(*)运算符进行重载。
- 添加对其他向量方法的支持 - 进行中
-
lerp函数。 - 两个向量之间的
distance。 - 与点积类似的双向量积
cross。 -
取反 -
zero向量初始化器。 -
ones向量初始化器。
-
欢迎信息
- 您可以使用命令运行,启动
src/main.rs,这不是必需的,但我是为了演示目的创建的。
cargo run --quiet
# or
cargo run -j 10 --quiet
测试模块
- 使用下面的测试命令将运行
test/tests.rs脚本,以及每个vectorlib::math::vector_module::Vector2d的文档脚本。
cargo test
- 有时我们想通过指定的
test查看某些变量的输出结果。要在执行cargo test时查看打印的值,可以使用--nocapture标志。此标志防止测试框架捕获输出,允许打印的值在控制台上显示。
cargo test -- --nocapture
# Or
cargo test -j 8 -- --nocapture
依赖关系
~0.4–10MB
~61K SLoC