SuperAPI AI 工具集

algorithmic-art

设计与创作

查看项目

更新于 10-15 07:52

技能介绍

algorithmic-art 是一个创建算法艺术的技能,使用 p5.js,具有种子随机性和交互式参数探索能力。当用户请求用代码创作艺术等场景时可使用它。

用途 该技能围绕“算法哲学”展开:算法哲学是通过代码表达的计算美学运动。它最终输出三类文件:.md 文件(哲学)、.html 文件(交互式查看器)和 .js 文件(生成式算法)。整个过程分两步:先创建算法哲学(.md 文件),再通过创建 p5.js 生成艺术来表达(.html + .js 文件)。

主要能力 第一步是算法哲学创建。它强调创作的不是静态图像或模板,而是将通过计算过程、涌现行为、数学之美、种子随机性、噪声场、有机系统、粒子、流、场、力、参数化变化与受控混沌来诠释的算法哲学。用户提供的输入是作为基础考虑的细微输入或指令,但不应限制创作自由。哲学需以 1-2 个词命名运动,并以 4-6 个段落阐述,内容需覆盖:计算过程与数学关系、噪声函数与随机模式、粒子行为与场动态、时间演化与系统状态、参数化变化与涌现复杂性。哲学需反复强调匠人精神,要求最终算法看起来经过无数小时的开发、精心打磨,来自该领域顶尖人士,并反复使用诸如“细致打造的算法”“深度计算专业知识的产物”“艰苦优化”“大师级实现”等表述,同时为后续实现留出创作空间。

文中给出了若干哲学示例,包括“Organic Turbulence”(混沌受自然法则约束,秩序从无序中涌现,以分层 Perlin 噪声驱动的流场、数千粒子沿矢量力运动、轨迹累积成有机密度图,颜色来自速度与密度)、“Quantum Harmonics”(离散实体展现波状干涉,粒子在网格上初始化并携带通过正弦波演化的相位值,邻近粒子的相位干涉形成明暗节点,简谐运动生成复杂涌现的曼陀罗)、“Recursive Whispers”(跨尺度的自相似,有限空间中的无限深度,递归细分分支结构,受黄金比例约束,L 系统或递归细分生成兼具数学感与有机感的树状形态)、“Field Dynamics”(不可见力量通过其对物质的影响而可见,矢量场由数学函数或噪声构建,粒子在边缘诞生、沿场线流动、在平衡或边界处消亡)、“Stochastic Crystallization”(随机过程结晶为有序结构,随机圆填充或 Voronoi 镶嵌,随机点通过松弛算法演化直至平衡,颜色基于单元大小、邻居数量或到中心的距离)。这些是浓缩示例,实际算法哲学应为 4-6 个充实段落。

第二步是推导概念种子。关键步骤是在实现算法前,从原始请求中识别出细微的概念线索。该概念是嵌入算法本身的细微、小众引用,不总是字面化的,且总是精巧的;熟悉该主题的人应能直觉感受到,而其他人只会体验到一件大师级的生成作品。算法哲学提供计算语言,推导出的概念提供灵魂——安静的概念 DNA 被无形地织入参数、行为和涌现模式中。这一引用必须精炼到在不自我宣告的情况下增强作品深度。

第三步是 p5.js 实现。步骤 0 要求先用 Read 工具读取 templates/viewer.html,研究其确切结构、样式与品牌元素,并将其作为字面起点;保留所有固定部分(页眉、侧边栏结构、品牌色彩与字体、种子控件、动作按钮),仅替换文件注释中标记的可变部分(算法、参数、参数 UI 控件)。应避免从零创建 HTML、自创样式或配色方案、使用系统字体或深色主题、更改侧边栏结构;应采用复制模板确切 HTML 结构、保留品牌元素(字体、浅色、渐变背景)、维持侧边栏布局(种子 → 参数 → 颜色?→ 动作)的做法。

技术需求方面,使用带种子的随机性以获得可复现性,示例为: let seed = 12345; // or hash from user input randomSeed(seed); noiseSeed(seed);

参数结构应遵循哲学,示例: let params = { seed: 12345, // Always include seed for reproducibility // colors // Add parameters that control YOUR algorithm: // - Quantities (how many?) // - Scales (how big? how fast?) // - Probabilities (how likely?) // - Ratios (what proportions?) // - Angles (what direction?) // - Thresholds (when does behavior change?) };

核心算法应由哲学决定,思考“如何通过代码表达这一哲学”,而非“该用哪种图案”。画布使用标准 p5.js 结构,setup() 中 createCanvas,draw() 中运行生成算法,可为静态(noLoop)或动画。

工艺要求强调:算法应像是大师级生成艺术家经过无数次迭代而成,需仔细调校每个参数,确保每个图案都有目的地涌现,这是受控混沌而非随机噪声。需平衡复杂性与视觉噪声、秩序与僵化;色彩和谐,用深思熟虑的调色板而非随机 RGB;即使在随机中也保持视觉层次与流动;动画时性能流畅;可复现性,同一种子始终产生相同输出。

输出格式 输出算法哲学(markdown 或文本,解释生成美学),以及单个 HTML Artifact——基于 templates/viewer.html 构建的自包含交互式生成艺术。HTML artifact 包含全部内容:CDN 的 p5.js、算法、参数控件与 UI,全部在一个文件中,可立即在 claude.ai artifacts 或任何浏览器中运行。

交互式 Artifact 创建 创建一个自包含 HTML artifact 以便探索生成艺术,无需设置即可在 claude.ai 或任何浏览器中运行,所有内容内联嵌入。

固定部分(始终按所示包含):布局结构(页眉、侧边栏、主画布区)、品牌元素(UI 颜色、字体、渐变)、侧边栏中的种子部分(种子显示、上一页/下一页按钮、随机按钮、跳转到种子输入 + Go 按钮)、侧边栏中的动作部分(重新生成按钮、重置按钮)。

可变部分(每件作品自定义):整个 p5.js 算法(setup/draw/类)、参数对象、侧边栏中的参数部分(参数控件数量、参数名称、滑块的最小/最大/步长值、控件类型)、颜色部分(可选,按作品需要决定是否需要颜色选择器、固定颜色或单色)。每件作品都应有独特的参数与算法。

必需功能

  1. 参数控件:数值参数的滑块(粒子数量、噪声尺度、速度等)、调色板颜色的颜色选择器、参数变化时实时更新、恢复默认值的重置按钮。

  2. 种子导航:显示当前种子编号、“Previous”和“Next”按钮循环切换种子、“Random”按钮获取随机种子、输入字段跳转到特定种子、请求时生成 100 个变体(种子 1-100)。

  3. 单一 Artifact 结构:使用 DOCTYPE html,head 中从 CDN 引入 p5.js(https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.7.0/p5.min.js),所有样式内联,画布在上控件在下,body 中含 canvas-container 与 controls,脚本中内联全部 p5.js 代码、参数对象、类、函数、setup() 和 draw()、UI 处理器,全部自包含。除 p5.js CDN 外无外部文件、无导入。

  4. 实现细节——构建侧边栏,顺序为:1. 种子(固定)始终按所示包含;2. 参数(可变)为作品创建控件,使用 control-group div 结构,每个参数一个;3. 颜色(可选/可变)按需添加;4. 动作(固定)始终包含重新生成、重置、下载 PNG 按钮。要求种子控件可用(上一页/下一页/随机/跳转/显示)、所有参数都有 UI 控件、重新生成/重置/下载按钮可用、保留品牌 UI 样式(而非艺术颜色)。

使用方式 HTML artifact 可立即使用:在 claude.ai 中作为交互式 artifact 显示并即时运行;作为文件保存后可在任何浏览器中打开,无需服务器。

限制 关于收费、价格、平台支持的具体情况、实际生成效果等技术细节,现有资料暂未提供。