algorithmic-art by 404kidwiz/claude-supercode-skills
npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill algorithmic-art提供创意编程专业知识,专注于使用 p5.js 进行生成艺术、数学可视化和交互式装置创作。通过代码创作视觉艺术,运用流场、粒子系统、噪声算法和算法模式,用于创意和教育目的。
What is the visual goal?
│
├─ **Organic / Natural**
│ ├─ Texture? → **Perlin Noise / Simplex Noise**
│ ├─ Movement? → **Flow Fields / Vector Fields**
│ └─ Growth? → **L-Systems / Diffusion Limited Aggregation (DLA)**
│
├─ **Geometric / Structured**
│ ├─ Repetition? → **Grid Systems / Tilemaps**
│ ├─ Recursion? → **Fractals (Mandelbrot, Sierpinski)**
│ └─ Division? → **Voronoi / Delaunay Triangulation**
│
└─ **Simulation**
├─ Physics? → **Verlet Integration / Springs**
└─ Behavior? → **Boids (Flocking) / Cellular Automata**
| 类型 | 函数 | 描述 |
|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 均匀分布 | random() | 完全混沌。白噪声。 |
| 高斯分布 | randomGaussian() | 钟形曲线。大多数值接近均值。 |
| 柏林噪声 | noise() | 平滑、渐变的随机性。"类似云朵"。 |
| 种子随机 | randomSeed() | 确定性的。每次输出相同。 |
红色警报 → 升级至 threejs-pro:
目标: 使用递归绘制一棵树。
步骤:
len 的线段。theta 角度。branch(len * 0.67)。-theta * 2 角度。branch(len * 0.67)。len < 2 时停止。draw() 中进行繁重计算表现:
失败原因:
正确方法:
setup() 中生成静态几何体。new Particle()。表现:
width = 500。失败原因:
正确方法:
pixelDensity(2)(或更高)。width * 0.5)而不是绝对像素。表现:
fill(random(255), random(255), random(255))失败原因:
正确方法:
视觉效果:
pixelDensity)。性能:
代码:
randomSeed() 以确保可复现性。windowResized() 处理布局变化。场景: 一位数据分析师希望将人口增长数据可视化为动画圆堆积图,其中圆的大小代表人口数字。
方法:
关键实现:
// Circle packing with growth animation
function draw() {
background(20);
for (let circle of circles) {
if (!circle.grown) {
circle.grow();
if (circle.grown) {
circle.resolveCollisions(circles);
}
}
circle.display();
}
}
结果: 交互式可视化显示 50 个国家,按区域颜色编码,具有平滑的增长动画和悬停提示。
场景: 一位艺术家希望创建一个包含 10,000 件作品的 NFT 系列,包含程序化生成的花朵,确保稀有度分布和视觉协调性。
方法:
关键特性:
场景: 一位物理老师需要一个粒子碰撞和动量守恒的交互式演示,用于高中课堂。
方法:
教育特性:
每周安装量
63
代码仓库
GitHub 星标数
42
首次出现
2026年1月23日
安全审计
安装于
opencode54
claude-code50
gemini-cli47
codex45
cursor45
github-copilot37
Provides creative coding expertise specializing in generative art, mathematical visualizations, and interactive installations using p5.js. Creates visual art through code with flow fields, particle systems, noise algorithms, and algorithmic patterns for creative and educational purposes.
What is the visual goal?
│
├─ **Organic / Natural**
│ ├─ Texture? → **Perlin Noise / Simplex Noise**
│ ├─ Movement? → **Flow Fields / Vector Fields**
│ └─ Growth? → **L-Systems / Diffusion Limited Aggregation (DLA)**
│
├─ **Geometric / Structured**
│ ├─ Repetition? → **Grid Systems / Tilemaps**
│ ├─ Recursion? → **Fractals (Mandelbrot, Sierpinski)**
│ └─ Division? → **Voronoi / Delaunay Triangulation**
│
└─ **Simulation**
├─ Physics? → **Verlet Integration / Springs**
└─ Behavior? → **Boids (Flocking) / Cellular Automata**
| Type | Function | Description |
|---|---|---|
| Uniform | random() | Complete chaos. White noise. |
| Gaussian | randomGaussian() | Bell curve. Most values near mean. |
| Perlin | noise() | Smooth, gradient randomness. "Cloud-like". |
| Seeded | randomSeed() | Deterministic. Same output every time. |
Red Flags → Escalate tothreejs-pro:
Goal: Draw a tree using recursion.
Steps:
Branch Function
len.theta.branch(len * 0.67).-theta * 2.branch(len * 0.67).Termination
len < 2.draw()What it looks like:
Why it fails:
Correct approach:
setup().new Particle().What it looks like:
width = 500.Why it fails:
Correct approach:
pixelDensity(2) (or higher).width * 0.5) instead of absolute pixels.What it looks like:
fill(random(255), random(255), random(255))Why it fails:
Correct approach:
Visuals:
pixelDensity).Performance:
Code:
randomSeed() used for reproducibility.windowResized() handles layout changes.Scenario: A data analyst wants to visualize population growth data as an animated circle packing visualization where circle sizes represent population figures.
Approach:
Key Implementation:
// Circle packing with growth animation
function draw() {
background(20);
for (let circle of circles) {
if (!circle.grown) {
circle.grow();
if (circle.grown) {
circle.resolveCollisions(circles);
}
}
circle.display();
}
}
Result: Interactive visualization showing 50 countries with color-coded regions, smooth growth animations, and hover tooltips.
Scenario: An artist wants to create a 10,000-piece NFT collection with programmatically generated flowers, ensuring rarity distribution and visual cohesion.
Approach:
Key Features:
Scenario: A physics teacher needs an interactive demonstration of particle collision and momentum conservation for a high school class.
Approach:
Educational Features:
Weekly Installs
63
Repository
GitHub Stars
42
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode54
claude-code50
gemini-cli47
codex45
cursor45
github-copilot37
Beautiful Mermaid 图表渲染工具 - 将Mermaid代码转为SVG/PNG,支持多种主题和图表类型
827 周安装