#笔绘图机 #艺术 #多样性 #nannou #实用工具 #现在 #组合

aoer-plotty-rs

用于创建基于笔绘图机艺术品的各种实用工具

14个版本

0.2.2 2022年9月26日
0.2.1 2022年9月5日
0.1.11 2022年7月23日
0.1.5 2022年6月15日
0.1.3 2022年5月31日

#431 in 可视化

每月 34 次下载

MIT 协议

1MB
4K SLoC

aoer-plotty-rs

Package Documentation

此库包含用于制作基于笔绘图机艺术的多种工具。目前它主要关注nannou和geo/geo_types的组合,但随着我对自己创作的需求,它可能会扩展到其他领域。基于(非常粗略地)Python的地理函数shapely,以及VSK

注意:这甚至还不是Alpha版本,我只是在休息日里摸索它。可能会突然崩溃,可能会带着你的绘图机一起。

变更日志

  • 0.2.2. 修复了bug!regular_poly_native函数重复了点,导致无效的几何形状。
  • 0.2.1. 优化和绘图仪
    • 添加了对工具路径/线排序的优化,以便在绘图时不会浪费时间穿越空空间。
    • 添加简单的串行绘图仪支持
  • 0.2.0. 我们做到了!
    • 字体模块。它有bug且丑陋,但我们现在可以在草图上放置简单的文本。
    • 性能改进;尤其是在复杂重叠的几何形状方面
    • Truchet瓷砖(Carlson Smith)
    • 使用Nannou中的UI自定义草图的示例
  • 0.1.11. 添加了第一个“元素”(可重复使用的草图组件),以elements::CarlsonSmithTruchet的形式,它提供了可平铺和可缩放的truchets,可以形成一些非常有趣的图案。可以将其视为“goto 10”强化版瓷砖。还添加了一个to_geos特性,使得在geo_types之间进行转换变得非常简单,无需复杂的From/Into魔法。还添加了一个geo_types::shapes模块,提供了额外的原始形状(圆弧、多边形、圆形)。添加了geo_types::boolean::BooleanOp特性,允许直接对geo_types执行布尔运算。
  • 0.1.10. 即将进行0.2版本的发布。向context::Context添加了'flatten'方法,以便您可以将同一图层上的所有笔触合并。这对于合并重叠的多边形非常有用。图层被定义为“完全相同的颜色、笔和填充配置”。
  • 0.1.9. 向上下文中添加了遮罩功能:现在您可以使用任何geo_types::Geometry变体来遮罩可绘区域,只有遮罩下的区域才会实际渲染。还更改了一些与性能和准确性相关的优化,使裁剪的物品看起来更干净。还添加了最后的生成艺术示例。我会怀念实现它们的:(
  • 0.1.8. 向Context添加了许多新功能,包括正多边形和镶嵌多边形(各种点数的星星)。圆形现在也变得简单一些。
  • 0.1.7. 另一个重大变化。添加了Context绘图库,该库非常庞大,包含许多功能,在这里难以一一讨论。
  • 0.1.6. 各种更改
    • 添加geo_types::buffer::Buffer特性,用于偏移多边形
    • 添加geo_types::clip::LineClip特性,用于使用其他几何图形剪裁几何图形。
    • geo_types::svg::Arrangement特性已扩展,以更好地支持任意转换。
    • geo_types::svg::Arrangement特性还添加了边距选项,以便将几何图形适合于具有预定义边距的页面。
    • geo_types::hatch::OutlineStroke 是一个实用特质,它接受 LineString/MultiLineString 并应用笔触,返回包含线条轮廓的 MultiLineString。
    • geo_types::hatch::OutlineFillStrokegeo_types::hatch::OutlineStroke 相同,但它还会用给定的 HatchPattern 填充笔触。非常适合将由粗线条组成的绘图转换为美观填充的多边形。
    • 大量示例,它们是 Generative Artistry tutorials 的氧化版本。
  • 0.1.5. 添加 SVG 生成功能。
  • 0.1.4. 添加了 geo_types::hatch::Hatch 子模块。
  • 0.1.3. 再次对 GCode POST 进行重大更改;使用枚举来定义输入几何形状,以便我们可以添加新的几何形状源类型,例如 svg2polyline 多边形,或者甚至是带有工具更改的多层地理形状。
  • 0.1.2. 主要改进文档。明确声明 MIT 许可证。
  • 0.1.1. 对 GCode POST 函数进行重大更改,以使用 geo_types 以保持与库中其他地方的兼容性。还将 Turtle/TurtleTrait 更改为可变的。
  • 0.1.0. 初始提交

许可证:MIT

依赖关系

~52–70MB
~1M SLoC