9 个版本
0.2.3 | 2024 年 2 月 4 日 |
---|---|
0.2.2 | 2024 年 1 月 13 日 |
0.2.1 | 2023 年 10 月 27 日 |
0.2.0 | 2023 年 8 月 19 日 |
0.1.4 | 2023 年 8 月 12 日 |
#226 in 图像
每月 140 次下载
43KB
865 行
barnsley: Rust 中的迭代函数系统
制作像这样的图像!看看 示例 中的所有多样性。
制作自己的!
您可以使用 https://barnsley.dev 在浏览器中直接生成自己的 IFS 和动画。
此网站是用 barnsley_gui 仓库 构建的。
如何运行 crate
安装
运行此代码需要 Rust。虽然 Rust 的安装很简单,但 安装 Rust 很容易。一旦您有了 rust,可以使用 cargo install barnsley
安装 Barnsley。
然后,您可以从模板或配置文件运行。
从模板
模板 toml 文件指定了图像属性、评估属性以及要运行的转换。由于您没有指定转换的参数,因此它们被随机生成。 这是一个示例模板。 您可以使用程序中的 construct
命令生成特定实例的参数,然后对其进行评估以创建图像。
- 使用
cargo install barnsley
安装 - 使用 Rust,运行
barnsley construct example_template.toml > test.json
- 查看 test.png 文件中的图片和 test.json 中的配置
从配置文件
配置 json 文件指定了图像属性、评估属性以及转换的特定参数。它可以用于在以后的时间重新创建图像。
- 使用
cargo install barnsley
安装。 - 使用Rust,运行
barnsley construct examples/example7.json
- 查看example7.png文件以查看结果。注意它如何与示例目录中的匹配!
实现的转换
- 线性转换
- 仿射变换
- 莫比乌斯变换
- 逆Julia变换
尝试组合它们以生成新的图像。
来源
此代码基于由pyifs编写的James Tauber为Python编写的。
crate名称是为了纪念Michael Barnsley,他是迭代函数系统的主要研究人员。
依赖项
~18MB
~164K SLoC