Differences between elements are percept as bigger as they are. Both of these rectangles have the same size. The white one has the same size as the black one. Just by standing on a different ground it “blows up”.
size(500, 500);
background(255);
noStroke();
translate(width/2, height/2);
fill(0);
rect(-width/2, -50, width, height);
rectMode(CENTER);
rect(20, -100, 50, 50);
fill(255);
rect(20, 0, 50, 50);
saveFrame("out.png");