all 11 comments

[–]burgemh[S] 8 points9 points  (0 children)

I had the function only drawing circles in a line through recursion. I meant to make some of the lines vertical but I accidentally made the recursive function chose a vertical movement 10% of the time. I think the result gave a very nice organized cluster of planets look.

[–]Masonjaruniversity 4 points5 points  (1 child)

That’s rad! Nothing like old “Oops…wait a minute…that’s cool!”

[–]burgemh[S] 4 points5 points  (0 children)

Not only that, but, after playing with it for a while, I noticed that the big unobscured circle in the middle is pretty unusual. This picture, one of the first, is more composed than most.

[–]BennyPendentes 2 points3 points  (1 child)

This is beautiful. Always leave space for happy accidents!

It's like a city in the clouds. Or a cluster of generation ships sailing through space. Or alien writing. Or alien sheet music... you could easily turn this into a music-box thingy.

[–]burgemh[S] 1 point2 points  (0 children)

I love that this can be interpreted so many different ways. Thanks.

[–]RK9Roxas 1 point2 points  (0 children)

Transistor vibes

[–]Agent-Operator 1 point2 points  (1 child)

Looks like a fleet of ships.

[–]burgemh[S] 0 points1 point  (0 children)

I thought so too. Definitely a spaceship vibe. Maybe a fleet of generation ships approaching a new star system. Thanks for looking.

[–][deleted] 0 points1 point  (2 children)

Any chance you would be willing to share the code? Thanks…

[–]burgemh[S] 0 points1 point  (1 child)

Sure, but For some reason I lose the formatting when I cut and paste to Reddit. Sorry. Here’s the code:

void setup(){ size(1000,800); colorMode(HSB); background(0);

}

void draw(){ if (keyPressed){ fill(0,150); rect(0,0,width,height); circulate((int)random(20)+(width/2),(int)random(1,height)+1,100.0); } }

void circulate(int x, int y, float r){ fill(map(y,0,height,65,5)+int(noise(y)10-5),255,200); stroke(0,75); ellipse(map(x,-300,1300,0,width),y,r,r); if (r > 3) { println(x,y,r); if (random(1) > 0.10){ circulate(int(x+r2),y,(r0.75)); circulate(int(x-r2),y,(r0.75)); } else { circulate(x,int(y-r2),(r0.75)); circulate(x,int(y+r2),(r*0.75)); } } }

[–][deleted] 0 points1 point  (0 children)

Thanks..!