用途
该技能用于创作算法生成艺术(algorithmic art),核心是使用 p5.js,结合带种子的随机性(seeded randomness)与交互式参数探索。触发场景包括生成艺术、算法美学等相关请求。
其产出不是静态图片或模板,而是通过计算过程、涌现行为与数学之美表达的“算法哲学”,并最终以代码形式呈现。
主要能力
整个流程分为两步:
- 算法哲学创建(.md 文件):撰写一份算法哲学/生成美学运动宣言,作为后续代码表达的基础。
- 用 p5.js 生成艺术表达(.html + .js 文件):将哲学转化为生成算法。
算法哲学需围绕以下方向展开:计算过程与数学关系、噪声函数与随机模式、粒子行为与场动力学、时间演化与系统状态、参数化变化与涌现复杂性。
哲学需命名(1-2 个词,如 “Organic Turbulence”“Quantum Harmonics”“Emergent Stillness”),并写成 4-6 段简洁但完整的文字。文中反复强调最终算法应显得经过无数小时打磨、由该领域顶尖者精心优化而成。
使用方式
第一步:算法哲学创建
创建一份算法哲学(而非静态图像或模板),它将通过计算过程、涌现行为、数学之美、带种子的随机性、噪声场、有机系统、粒子/流/场/力、参数化变化与受控混沌来被诠释。
用户提供的输入或指令作为基础,但不应限制创作自由。哲学需强调:算法表达、涌现行为、计算之美、带种子的变化。
第二步:p5.js 实现
在实现算法前,需先识别原始请求中隐含的“概念种子”——一个微妙、小众的引用,嵌入算法本身,熟悉该主题的人能直觉感受到,其他人则只体验到一件出色的生成作品。
实现时需先阅读模板文件 templates/viewer.html,以其为字面起点,保留固定部分(头部、侧边栏结构、模板配色/字体、种子控件、操作按钮),仅替换可变部分(算法、参数、参数 UI 控件)。
技术要求包括:
- 带种子的随机性(Art Blocks 模式):始终使用种子以保证可复现,如 randomSeed(seed); noiseSeed(seed);
- 参数结构:params 对象中始终包含 seed,并加入控制算法的参数(数量、尺度、概率、比例、角度、阈值等)。
- 核心算法:由哲学决定构建内容,而非从模式菜单中挑选。
- 画布设置:标准 p5.js 结构,setup() 中 createCanvas(1200, 1200),draw() 中实现生成算法(可静态 noLoop 或动画)。
工艺要求:平衡(复杂但无视觉噪声,有序但不僵硬)、色彩和谐、构图、性能、可复现性(同一种子始终产生相同输出)。
输出格式
- 算法哲学:以 markdown 或文本解释生成美学。
- 单个 HTML 制品:基于 templates/viewer.html 构建的自包含交互式生成艺术,包含 p5.js(来自 CDN)、算法、参数控件与 UI,全部在一个文件中,可在 opencode 制品或任意浏览器中立即运行。
交互式制品创建
固定部分(始终按模板原样包含):布局结构(头部、侧边栏、主画布区)、一致的品牌样式(UI 颜色、字体、渐变)、侧边栏的种子区(种子显示、上一个/下一个按钮、随机按钮、跳转到种子输入 + Go 按钮)、操作区(重新生成、重置按钮)。
可变部分(每件作品自定义):整个 p5.js 算法、params 对象、侧边栏参数区(控件数量、名称、最小/最大/步长、控件类型)、颜色区(可选,视作品需要)。
必需功能:
- 参数控件:数值参数滑块、调色板颜色选择器、参数变化时实时更新、重置按钮恢复默认值。
- 种子导航:显示当前种子、上一个/下一个按钮循环种子、随机按钮、跳转到指定种子的输入框、请求时生成 100 个变体(种子 1-100)。
- 单制品结构:单个 HTML 文件,除 p5.js CDN 外无外部文件、无导入,全部内联。
- 侧边栏结构:种子(固定)→ 参数(可变)→ 颜色(可选/可变)→ 操作(固定,含重新生成、重置、下载 PNG 按钮)。
适用场景
适用于生成艺术创作、算法美学探索、参数化艺术实验、交互式生成作品展示等场景。
限制
资料未提供关于收费、价格、平台支持范围、具体效果保证等方面的信息,暂未提供。