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
的结构体 - 支持单元测试和库文档测试。
- 导入到
Engine
crate 中,用于我们的动画平台。
- 创建
备注
-
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