golden plate
@author
color gold1, gold2;
PVector[] noiseOffsets;
void setup(){
size(500, 500, P3D);
noStroke();
colorMode(HSB, 360, 100, 100);
gold1 = color(43, 100, 85);
gold2 = color(43, 20, 85);
noiseOffsets = new PVector[3];
for(int i = 0; i < 3; i++){
noiseOffsets[i] = new PVector(random(10000), random(10000));
}
}
void draw(){
background(60);
translate(width / 2, height / 2);
rotateY(map(mouseX, 0, width, -PI / 6, PI / 6));
rotateX(map(mouseY, 0, height, PI / 6, -PI / 6));
for(int x = - 150; x <= 150; x += 2){
for(int y = -150; y <= 150; y += 2){
pushMatrix();
translate(x, y);
float h = map(noise(x * 0.003 + noiseOffsets[0].x, y * 0.01 + noiseOffsets[0].y, mouseX * 0.001 + mouseY * 0.001), 0, 1, hue(gold1), hue(gold2));
float s = map(noise(x * 0.003 + noiseOffsets[1].x, y * 0.01 + noiseOffsets[1].y, mouseX * 0.001 + mouseY * 0.001), 0, 1, saturation(gold1), saturation(gold2));
float b = map(noise(x * 0.003 + noiseOffsets[2].x, y * 0.01 + noiseOffsets[2].y, mouseX * 0.001 + mouseY * 0.001), 0, 1, brightness(gold1), brightness(gold2));
fill(h, s, b);
rect(0, 0, 2, 2);
popMatrix();
}
}
}