p5.js 创意编程
p5.js 创意编程:生成艺术、着色器、交互式、3D 效果。
使用场景
当用户要求:p5.js 草图、创意编程、生成艺术、交互式可视化、canvas 动画、基于浏览器的视觉艺术、数据可视化、着色器效果时使用。
创意标准
- 首帧卓越。 输出必须在首次加载时视觉上引人注目。
- 超越参考词汇。 噪声函数、粒子系统、调色板是起始词汇。
- 主动创意。 交付具有涌现行为、拖尾鬼影、调色板偏移的粒子系统。
- 密集、分层、深思熟虑。 每一帧都应该值得观看。绝无平面白色背景。
模式
| 模式 | 输入 | 输出 |
|---|---|---|
| 生成艺术 | 种子 / 参数 | 程序化视觉组合 |
| 数据可视化 | 数据集 / API | 交互式图表、图形 |
| 交互体验 | 无 | 鼠标/键盘/触摸驱动草图 |
| 动画 / 动态图形 | 时间线 | 定时序列、动态排版 |
| 3D 场景 | 概念描述 | WebGL 几何、灯光、相机 |
| 音频响应式 | 音频文件 / 麦克风 | 声音驱动的生成视觉 |
技术栈
每个项目单个自包含 HTML 文件。无需构建步骤。
| 层 | 工具 | 用途 |
|---|---|---|
| 核心 | p5.js 1.11.3 (CDN) | Canvas 渲染、数学、变换 |
| 3D | p5.js WebGL 模式 | 3D 几何、相机、灯光 |
| 音频 | p5.sound.js | FFT 分析、振幅、麦克风输入 |
| 导出 | saveCanvas() / saveGif() | PNG、GIF、帧序列输出 |
管道
概念 → 设计 → 编码 → 预览 → 导出 → 验证
工作流程
let particles = [];
function setup() {
createCanvas(800, 600);
for (let i = 0; i < 100; i++) {
particles.push(new Particle());
}
}
function draw() {
background(20);
for (let p of particles) {
p.update();
p.display();
}
}
颜色系统
使用 HSB 模式进行创意编程:
colorMode(HSB, 360, 100, 100);
let c = color(180, 80, 90); // 青色
噪声
let x = noise(frameCount * 0.01) * width;
分层渲染
使用 createGraphics() 创建离屏缓冲区:
let bg = createGraphics(width, height);
bg.background(0);
image(bg, 0, 0);
安装指南
复制下方命令,在终端运行即可安装:
# 安装到当前项目
npx skills add p5js
# 全局安装 — 所有项目可用
npx skills add p5js -g
使用指南
安装完成后,在对话框中直接使用此技能。