1个不稳定版本
0.4.0 | 2019年12月19日 |
---|
在#generative-art中排名16
34KB
900 行
关于
fart
是我个人用于基于SVG的生成艺术品的工具和框架。最初受到Benjamin Kovach关于生成艺术基础设施和工具的优秀文章的启发,但自从那时起一直在自己的方向上发展。
我仅仅为了自己维护fart
。如果它对你有帮助,那就很好!但这并不是旨在成为每个人、每个地方都应该使用的创建Rust艺术的框架。如果你提交了一个问题,我可能会或可能不会回答,更不用说修复它。如果你提交了一个拉取请求,我可能会或可能不会回答,我可能会或可能不会合并它。
如果你想用Rust制作生成艺术,可能需要查看nannou
而不是fart
!
安装
cargo install fart-cli
快速入门
生成一个新的fart
项目
$ fart new my-cool-project
运行fart watch
以自动构建你的项目并在每次更改时生成SVG。
$ cd my-cool-project/
$ fart watch
在你的项目上修改!不断刷新你的浏览器或首选SVG查看器中的my-cool-project/images/latest.svg
以查看你的结果。
CLI
要查看CLI命令和标志的完整列表,请运行fart help [子命令]
。
fart new<name>
创建一个名为fart
的新项目,名为<name>
。
fart run
编译并运行一个fart
项目,生成一个新的、带时间戳的SVG渲染文件,并自动为你提交。
fart watch
观看一个 fart
项目,自动在每次更改时构建和运行它。为您保存和提交带时间戳的 SVG,以便您可以看到项目的演变。
fart serve
在本地 HTTP 服务器上提供项目及其渲染的 SVG。自动监视项目更改,并在每次更改时重新构建和重新运行,类似于 fart watch
。它提供具有实时预览功能的 Web UI,显示构建和程序日志,并提供表单小部件以交互式调整 fart::user_const!
。
库
包含生成 SVG、构建场景以及与数字和 RNG 交互的实用工具。
模块
fart::prelude
常用特性和函数。
适用于大多数项目,建议全局导入整个库。
use fart::prelude::*;
fart::canvas
画布是一组绘制的路径,可以渲染成 SVG。
fart::path
在 SVG 中绘制的路径。路径由一系列线命令组成,并关联一个颜色。
fart::process
用于从处理风格创建图像的帮助器,更新->绘制->更新->绘制->...
fart::aabb
2D 平行于轴的边界框(AABB)和 AABB 树。用于快速但不精确地检测物体之间的碰撞/交叉/包含。
fart::geom
基于 euclid
的 2D 计算几何算法的杂烩。
Re-exports
fart
有许多其他 crate 的重新导出,让您可以快速开始!
-
fart::euclid
:重新导出euclid
crate。 -
fart::failure
:重新导出failure
crate。 -
fart::noise
:重新导出noise
crate。 -
fart::num_traits
:重新导出num-traits
crate。 -
fart::rand
:重新导出rand
crate。
依赖项
~13–26MB
~391K SLoC