うーん。

```
//A-na5.tumblr #processing
int N = 100;
int r = 125;
float thetastep = PI/34;
float[][] dx = new float[N][N];
float[][] dy = new float[N][N];
float[][] dz = new float[N][N];
float d, x, y, z;
float theta = 0;
void gen(float t) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
dx[i][j] = map(i, 0, N, -1, 1);
dy[i][j] = map(j, 0, N, -1, 1);
dz[i][j] = noise(sin(TAU/N*i+t)*sin(TAU/N*j+t));
}
}
}
void setup() {
size(500, 500);
frameRate(17);
colorMode(HSB, N);
noStroke();
}
void draw() {
background(0);
gen(theta);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
d = sqrt(pow(dx[i][j],2)+pow(dy[i][j],2)+pow(dz[i][j],2));
x = dx[i][j]/d*r;
y = dy[i][j]/d*r;
z = dz[i][j]/d;
fill(z*N, 10, N);
ellipse((x)+width/4, (y)+height/2, z*2, z*2);
ellipse((dx[i][j]*r)+width/4*3, (dy[i][j]*r)+height/2,
z*2, z*2);
}
}
theta += thetastep;
}
```