here’s my hexagonal tiling in a square shape, I would like to convert the square shape into a circle one, can anyone help me?

```
float unitSize = 15;
float eqTriH = 0.8660254;
int w = 600;
int h = 600;
int cellsX = int(w/(unitSize*3));
int cellsY = int(h/(unitSize*eqTriH*2+eqTriH));
float[][] terrain;
int cols, rows;
int scl=20;
float flying=0;
import processing.sound.*;
Amplitude amp;
AudioIn in;
void setup() {
fullScreen(P3D);
cols=w/scl;
rows=h/scl;
terrain=new float[cols][rows];
smooth();
in = new AudioIn(this, 0);
in.start();
amp = new Amplitude(this);
amp.input(in);
}
void draw() {
background(51);
flying-=0.01;
float yoff=flying;
for (int y=0; y<rows; y++) {
float xoff=0;
for (int x=0; x<cols; x++) {
terrain[x][y]=map(noise(xoff, yoff), 0, 1, -50, 50);
xoff+=0.2;
}
yoff+=0.2;
}
translate(660, 240);
float vol = amp.analyze();
for (int i = 0; i < cellsX; i++) {
for (int j = 0; j < cellsY; j++) {
noFill();
stroke(255);
strokeWeight(0.8);
beginShape();
for (int k = 0; k < 6; k++) {
vertex(unitSize+i*unitSize*3+cos(TWO_PI/6*k)*unitSize,
unitSize*eqTriH+j*unitSize*2*eqTriH+sin(TWO_PI/6*k)*unitSize,
terrain[i][j]+random(-vol*600, vol*600));
}
endShape(CLOSE);
noFill();
stroke(255);
strokeWeight(0.8);
beginShape();
for (int k = 0; k < 6; k++) {
vertex(unitSize*2.5+i*unitSize*3+cos(TWO_PI/6*k)*unitSize,
unitSize*eqTriH*2+j*unitSize*2*eqTriH+sin(TWO_PI/6*k)*unitSize,
terrain[i][j]+random(-vol*600, vol*600));
}
endShape(CLOSE);
}
}
}
```