More algorithmic islands, created using random walks (similar to how the outer perimeter of the island is created) to create more realistic terrain patterns. Mountains are grown first, then forests and finally grassland, each of which encroaches on the previous terrain for more realistic clumps and chains.
More Algorithmic Islands
Further algorithmic islands, with weighted random for different terrains (grass, forest, rock, mountain), automatic beach around the edge, and all mountains surrounded by rock – still-messy code here.
Overlapping random lines
Overlapping version of earlier Processing sketches, made in Illustrator.
Random lines – white
White, this time. Sorted from longest in back to shortest in front.
Random lines – sort
Sorting from longest in back to shortest in front.
Random lines – reverse sort
Same random line experiment as below, but sorting line by length from shortest (drawn first and thus in the background) to longest (drawn last and therefore in the front), creating a nice wreath-like form.
Somehow makes sense…
Random lines (from below) and a still from The Office… somehow seemed like it should go together.
Random line (simulated sphere) experiment
Another Processing experiment, this time with random lines that are sorted by stroke color to simulate a sphere.
Source:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
void setup() { size(800, 800); noStroke(); smooth(); background(0); translate(width/2,height/2); for (int i=0; i<10000; i++) { rotate(radians(random(0,360))); int randomLength = int(random(10,height/2)); stroke(map(randomLength, 0,height/2, 255,0)); line(0,0, 0,randomLength); } } |
Random quad experiment
Experiment in Processing using random quads.
Source:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
void setup() { size(800, 800); noStroke(); smooth(); background(0); for (int i=0; i<1000; i++) { fill(int(random(0,255)), int(random(0,255))); int c1w = int(random(0,width)); int c1h = int(random(0,height)); int c2w = int(random(0,width)); int c2h = int(random(0,height)); int c3w = int(random(0,width)); int c3h = int(random(0,height)); int c4w = int(random(0,width)); int c4h = int(random(0,height)); quad(c1w,c1h, c2w,c2h, c3w,c3h, c4w,c4h); } } |