算法艺术与Canvas设计:一套可复现到像素的开源 p5.js 生成艺术模板
【免费下载链接】skillsPublic repository for Agent Skills项目地址: https://gitcode.com/GitHub_Trending/skills3/skills
想复刻上周那张抽象海报,却记不清当时用的粒子数量和噪声尺度?skills 这个开源创意编程项目用种子随机算法解决这个问题:算法艺术技能基于 p5.js(一个轻量网页绘图库)搭出生成艺术模板,同一枚种子总能复现同一张图;Canvas 设计技能负责静态海报。
这套模板能量产哪些成品
动态一侧,algorithmic-art 技能量产流场粒子作品:数千个粒子在分层 Perlin 噪声(一种让随机值看起来像自然流动的算法)驱动下漂移,轨迹累积成有机的密度图,换一枚种子就得到一个不重复的变体。静态一侧,canvas-design 技能用网页里的绘图区 Canvas 排版单页海报:纪念碑式的几何色块、巨型字体配极小标签,导出为 PNG 或 PDF,字体库随附丰富。两者共同点是同一套起手式:先写几段"哲学"定下这件作品的美学,再交给代码或画布去执行。
从 clone 到第一张图只需三步
整个仓库不需要安装任何依赖:模板通过公共 CDN 引用 p5.js,代码全部内联,浏览器打开即可运行,第一张图就是模板内置的示例流场。
git clone https://gitcode.com/GitHub_Trending/skills3/skills cd skills/skills/algorithmic-art ls templates第一步,克隆仓库并进入 algorithmic-art 目录。第二步,templates/ 下有两个文件:viewer.html 是交互式查看器的底版,已内置种子导航、参数滑杆和 PNG 下载按钮;generator_template.js 是代码结构参考。第三步,用浏览器直接打开 viewer.html,示例算法实时跑起来,第一张图就在屏幕上。想让作品换成自己的主题,可以对着 AI 编码助手说一句"按本目录 SKILL.md 的流程、基于 viewer.html 生成一个交互式查看器",交付物依然是一个自包含的 HTML 文件。
跟做一遍「有机湍流」:生成艺术完整闭环
SKILL.md 里给了一个现成示例,哲学名叫 Organic Turbulence,理念一句话:混沌受自然法则约束,秩序从无序中涌现。对应的算法表达是分层 Perlin 噪声驱动的流场:数千个粒子跟随矢量力留下轨迹,快的粒子燃烧得亮,慢的退进阴影。这是"定理念"环节,模板要求先把理念写成四到六段文档,再动代码。
"调参数"环节的推荐写法在旁边的 generator_template.js:所有可调量收进一个 params 对象,系统初始化时先打种子。
let seed = 42; randomSeed(seed); noiseSeed(seed);这三行就是可复现性的灵魂,之后每一次 random() 与 noise() 调用都被种子锁定,同一编号永远得到同一张图。"跑渲染"更简单:交付物是自包含的单 HTML,算法和控制面板都内联其中,无需本地服务器。"换种子看变体"在侧边栏按钮里做完了:上一个、下一个、随机、跳转到任意编号,输入 42 就看 42 号变体;想要一组,可以让它一次性生成种子 1 到 100 的百个变体再挑。
目录速查:三个必去的位置
p5.js 生成艺术模板在 skills/algorithmic-art/,交互式查看器一律从 templates/viewer.html 起步,文件注释标明了哪些区块保留、哪些区块替换,代码骨架参考generator_template.js就在隔壁。静态 Canvas 海报设计在 skills/canvas-design/,canvas-fonts/目录里放着 50 多个 TTF 文件,从经典衬线到像素风都有,海报上排字时从这里挑。
调参时的三个小细节
种子编号方面:randomSeed 与 noiseSeed 共同锁住全部随机行为,探索时把有意义的种子号写进文件名或笔记,比如"种子 7:流线特别密",凭编号随时能回到那一张图,不会迷路。
参数范围方面:别把滑杆设在 0 到 10000。噪声尺度给 0.001 到 0.05,粒子数量给 500 到 5000,各配一个合理的步进值,范围本身就是审美的一部分,它界定了这件作品可以被推到多狠而不散架。
实时反馈方面:分清哪些参数能即时生效、哪些需要整幅重建。颜色和线宽可以实时更新,粒子数量和噪声尺度改变了系统结构,必须重新初始化种子再重建,模板里的 updateParameter 与 regenerate 两个函数已经分好这两条路径,照抄这个拆分即可。
收尾:把抽象概念翻译成视觉参数
这套模板真正的价值,是把"抽象概念"变成了一条可执行链路:先写成哲学文档,再把每句话翻译成种子、参数范围和调色板,于是每件作品都可复现、可解释。如果想动手,先挑一个现成哲学跑通到一张 HTML,然后换三枚种子对比,这套方法就已经在你手上了。
【免费下载链接】skillsPublic repository for Agent Skills项目地址: https://gitcode.com/GitHub_Trending/skills3/skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考