xxxxxxxxxx
48
var meanRadius,
minRadius,
maxRadius,
centreX,
centreY,
samplesToBeTaken,
sampleStep,
cosValue,
sinValue,
noiseValue,
noiseBasedRadius,
noiseBasedX,
noiseBasedY;
function setup() {
createCanvas(400, 400);
meanRadius = 0.25 * sqrt(width * height);
minRad = 0.75 * meanRadius;
maxRad = 1.25 * meanRadius;
centreX = width / 2;
centreY = height / 2;
samplesToBeTaken = 100;
sampleStep = TWO_PI / samplesToBeTaken;
cosValue = 0;
sinValue = 0;
noiseValue = 0;
noiseBasedRadius = 0;
noiseBasedX = 0;
noiseBasedY = 0;
strokeWeight(4);
}
function draw() {
background(220);
for(var i = 0; i < samplesToBeTaken; i++) {
cosValue = cos(i * sampleStep);
sinValue = sin(i * sampleStep);
noiseValue = noise(1 + cosValue, 1 + sinValue);
noiseBasedRadius = map(noiseValue, 0, 1, minRad, maxRad);
noiseBasedX = centreX + noiseBasedRadius * cosValue;
noiseBasedY = centreY + noiseBasedRadius * sinValue;
point(noiseBasedX, noiseBasedY);
}
}