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 图像

Download history 1/week @ 2024-03-08 4/week @ 2024-03-15 8/week @ 2024-03-29 4/week @ 2024-04-05 3/week @ 2024-05-03 23/week @ 2024-05-10

每月 140 次下载

MIT/Apache

43KB
865

barnsley: Rust 中的迭代函数系统

Crates.io Crates.io CI

制作像这样的图像!看看 示例 中的所有多样性。

example image

制作自己的!

您可以使用 https://barnsley.dev 在浏览器中直接生成自己的 IFS 和动画。

此网站是用 barnsley_gui 仓库 构建的。

如何运行 crate

安装

运行此代码需要 Rust。虽然 Rust 的安装很简单,但 安装 Rust 很容易。一旦您有了 rust,可以使用 cargo install barnsley 安装 Barnsley。

然后,您可以从模板或配置文件运行。

从模板

模板 toml 文件指定了图像属性、评估属性以及要运行的转换。由于您没有指定转换的参数,因此它们被随机生成。 这是一个示例模板。 您可以使用程序中的 construct 命令生成特定实例的参数,然后对其进行评估以创建图像。

  1. 使用 cargo install barnsley 安装
  2. 使用 Rust,运行 barnsley construct example_template.toml > test.json
  3. 查看 test.png 文件中的图片和 test.json 中的配置

从配置文件

配置 json 文件指定了图像属性、评估属性以及转换的特定参数。它可以用于在以后的时间重新创建图像。

  1. 使用 cargo install barnsley 安装。
  2. 使用Rust,运行 barnsley construct examples/example7.json
  3. 查看example7.png文件以查看结果。注意它如何与示例目录中的匹配!

实现的转换

  • 线性转换
  • 仿射变换
  • 莫比乌斯变换
  • 逆Julia变换

尝试组合它们以生成新的图像。

来源

此代码基于由pyifs编写的James Tauber为Python编写的。

crate名称是为了纪念Michael Barnsley,他是迭代函数系统的主要研究人员。

依赖项

~18MB
~164K SLoC