a=(x,y,d=mag(k=(4+sin(y*2-t)*3)*cos(x/29),e=y/8-13))=>point((q=3*sin(k*2)+.3/k+sin(y/25)*k*(9+4*sin(e*9-d*3+t*2)))+30*cos(c=d-t)+200,q*sin(c)+d*39-220) t=0,draw=$=>{t||createCanvas(w=400,w);background(9).stroke(w,96);for(t+=PI/240,i=1e4;i--;)a(i,i/235)}
这是一个极简的"代码高尔夫"作品,用最少的代码创造最大的视觉效果。
// 主要的艺术函数
function a(x, y) {
// 计算复杂的数学表达式
let k = (4 + sin(y * 2 - t) * 3) * cos(x / 29);
let e = y / 8 - 13;
let d = mag(k, e);
// 计算点的位置
let q = 3 * sin(k * 2) + 0.3 / k + sin(y / 25) * k * (9 + 4 * sin(e * 9 - d * 3 + t * 2));
let c = d - t;
// 绘制点
point(
q + 30 * cos(c) + 200,
q * sin(c) + d * 39 - 220
);
}
function draw() {
background(9); // 深色背景
stroke(255, 96); // 半透明白色描边
t += PI / 240; // 时间增量
// 绘制10000个点
for (let i = 0; i < 10000; i++) {
a(i, i / 235);
}
}
k = (4 + sin(y*2-t)*3) * cos(x/29)
创建基于位置和时间的波动系数
d = mag(k, e)
计算向量(k,e)的模长,e = y/8-13
q = 3*sin(k*2) + 0.3/k + sin(y/25)*k*(...)
多层三角函数嵌套,创造复杂图案
x = q + 30*cos(d-t) + 200
y = q*sin(d-t) + d*39 - 220
将计算结果映射到画布坐标
这是一个基于数学公式的动态艺术作品
使用三角函数和复杂的数学表达式生成美丽的图案