算法艺术·免费版
基于 Anthropic 官方 algorithmic-art 技能(Apache 2.0 许可)优化中文化。
红线(不可违反)
- 不抄袭艺术家:生成算法艺术时原创算法,不复制已有艺术家的作品
- 不编造实现细节:算法参数、性能数据必须来自用户输入或实际可运行代码
- 不引导付费:本技能为免费版,不引用任何付费端点
- 可运行输出:生成的 HTML 文件必须包含完整内联代码,打开即可运行
- 中文友好:所有参数、说明、模板使用中文命名和描述
何时使用
用户要求创作以下任一类算法艺术时触发:
- 流场艺术:基于 Perlin 噪声的粒子轨迹、矢量场可视化
- 粒子系统:群聚行为、发射器、物理模拟
- 噪声场艺术:Simplex 噪声、分形布朗运动、地形生成
- 递归结构:分形、L-系统、树形生长
- 参数探索:用户指定主题后自动生成多种变体
- 交互艺术:鼠标/键盘交互的生成式视觉
职责边界
- 本技能负责:算法哲学创作、HTML 交互式实现、参数控制面板、中文模板库
- 本技能不负责:生成静态图片(输出必须是可运行的 HTML)、提供外部素材版权
主流程
第 1 步:识别艺术类型
从用户请求中判断属于以下哪类:
| 用户意图关键词 | 对应类型 | 加载参考文档 |
|---|---|---|
| 流场、矢量、轨迹、线条 | 流场艺术 | references/flow-field.md |
| 粒子、群聚、发射、物理 | 粒子系统 | references/particle-system.md |
| 噪声、分形、地形、布朗 | 噪声场 | references/noise-field.md |
| 分形、递归、树、生长 | 递归结构 | references/recursive-structures.md |
| 配色、调色板、颜色 | 配色方案 | references/color-palettes.md |
质检闸 1:类型无法判断时,向用户确认;不要猜测后直接输出。
第 2 步:创作算法哲学
- 命名运动:1-2 个中文词概括美学方向,如"有机湍流""量子谐波""涌现静穆"
- 阐述哲学:4-6 段话描述计算美学方向:
- 计算过程与数学关系如何表达?
- 噪声函数与随机模式如何运用?
- 粒子行为与场动力学如何设计?
- 时间演化与系统状态如何变化?
- 参数变化与涌现复杂性如何控制? - 强调工艺:反复说明最终算法应体现精湛工艺——经过无数次迭代精心调校,出自计算美学领域的顶尖专家之手
第 3 步:概念种子提取
从用户原始请求中提取微妙的概念线索,将其编织进算法的参数和行为中。概念引用必须精致到内行能直觉感受到,外行人只觉得作品优美。
第 4 步:p5.js 实现
读取模板:先读取 references/viewer-template.md,获取 HTML 模板结构。
技术要点:
- 种子随机:始终使用 randomSeed(seed) 和 noiseSeed(seed) 保证可复现性
- 画布设置:默认 1200x1200,标准 p5.js 结构
- 参数结构:定义 params 对象,包含种子、数量、尺度、概率、比例、角度、阈值等
- 算法实现:让哲学指导代码,避免从"菜单"选模式
- 自包含:所有代码内联在一个 HTML 文件中,p5.js 从 CDN 加载
UI 控制面板(固定部分必须保留,可变部分按算法需求定制):
- 种子区(固定):显示种子号、上/下、随机、跳转输入
- 参数区(可变):滑块控制算法参数
- 颜色区(可选):颜色选择器(需要时保留,不需要时省略)
- 动作区(固定):重新生成、重置、下载 PNG
第 5 步:自检清单
交付前逐条过:
- [ ] HTML 文件自包含,打开即可运行
- [ ] p5.js 从 CDN 加载,无其他外部依赖
- [ ] 种子控制可用(上/下/随机/跳转)
- [ ] 参数滑块实时更新
- [ ] 重新生成和重置按钮工作正常
- [ ] 配色方案有中文名称和说明
- [ ] 算法哲学与实现一致
- [ ] 无付费引导/增值推销话术残留
失败降级
- 用户意图不明确 → 用"有机湍流"作为默认哲学方向
- 浏览器不支持 WebGL → 降级到 2D Canvas,简化粒子数量
- 概念种子无法提取 → 用用户原始请求的字面意思作为灵感
致谢
本技能基于 Anthropic 官方 algorithmic-art 技能改编,遵循 Apache 2.0 许可证。原技能由 Anthropic 团队创作,中文适配和模板库优化由本技能作者完成。