5个版本 (3个破坏性更新)

0.4.0 2019年12月19日
0.3.0 2019年3月21日
0.2.0 2019年1月26日
0.1.1 2019年1月13日
0.1.0 2019年1月13日

#16 in #aa-bb

MIT/Apache

630KB
2K SLoC

fart — fitzgen的艺术

一个用于创建基于SVG的笔式绘图生成艺术框架

关于

fart 是我用于基于SVG的生成艺术的个人工具和框架。最初受到 Benjamin Kovach关于生成艺术基础设施和工具的优秀文章 的启发,但自从那时起一直在自己的方向上发展。

我维护 fart 仅用于自己。 如果它恰好对你有用,那就好!但这并不是旨在成为每个人、每个地方都应该使用的创建Rust艺术的框架。如果你提交一个问题,我可能会或可能不会回复,更不用说修复它了。如果你提交一个pull请求,我可能会或可能不会回复,也可能会或可能不会合并它。

如果你想用Rust制作生成艺术,可能比 fart 更好地查看 nannou

安装

cargo install fart-cli

快速开始

fart quick start

创建一个新的 fart 项目

$ fart new my-cool-project

运行 fart watch 以自动构建你的项目,并在每次更改时生成SVG。

$ cd my-cool-project/
$ fart watch

对你的项目进行黑客攻击!继续在浏览器或你偏好的SVG查看器中刷新 my-cool-project/images/latest.svg,以查看你的结果。

命令行界面

要查看完整的命令行命令和标志列表,请运行 fart help [子命令]

fart new<名称>

创建一个名为 fart 的新项目,名为 <name>

fart run

编译并运行一个 fart 项目,生成一个新的、带时间戳的SVG渲染,并自动为你提交。

fart watch

观看一个 fart 项目,自动在每次更改时构建和运行它。为您保存和提交带时间戳的 SVG,以便您可以查看项目的演变。

fart serve

在本地 HTTP 服务器上提供项目及其渲染的 SVG。自动监视项目的更改,并在每次更改时重新构建和重新运行,类似于 fart watch。它提供了一个具有实时预览的 Web UI,显示构建和程序日志,并提供表单小部件以交互式调整 fart::user_const!

包含生成 SVG、构建场景以及与数字和随机数生成器一起工作的实用程序。

阅读 API 文档!

模块

fart::prelude

常用特性和函数。

适用于大多数项目,可全局导入全部内容。

use fart::prelude::*;

fart::canvas

画布是一组绘制的路径,可以渲染成 SVG。

fart::path

在 SVG 中绘制的路径。路径由一系列线命令组成,并具有关联的颜色。

fart::process

用于从处理风格创建图像的辅助工具,更新->绘制->更新->绘制->... 循环。

fart::aabb

2D 平行于轴的边界框 (AABB) 和 AABB 树。对于快速但不精确的检测对象之间的碰撞/交叉/包含很有用。

fart::geom

基于 euclid 构建的 2D 计算几何算法的杂乱组合。

重新导出

fart 有许多其他包的重导出,让您迅速上手!

  • fart::euclid:重导出 euclid 包。

  • fart::failure:重导出 failure 包。

  • fart::noise:重导出 noise 包。

  • fart::num_traits:重导出 num-traits 包。

  • fart::rand:重导出 rand 包。

依赖项

~16MB
~61K SLoC