This is a page where I edit current projects temporarily, and move them to testbed3.html when they're finished. If you happen to find something interesting on this page, it won't stay here for long, and you should go to the mentioned link to find it.



Project #3.61: Overlapping Circle Packing

Drag with mouse to move the center
[ FPS: ]
(7/31/2024): This started out as a variation on circle packing, where circles grow until they reach the center of another circle, not the edge. But, this was super underwhelming, so I added separate code that sorts the circles based on their radius and distance from the mouse cursor, so now there's a really cool layered effect as they all come towards the center, and you can drag it around. I added colors and other visual settings as well.

(8/1/2024): I've been improving something I started on yesterday that I call "eyeball mode." The colored circles are still the default, but as an alternative that could (maybe) be a generative art piece, I turned the circles instead into eyes that look at the center. Today I improved the design of the eyes, giving the irises some lines and improving colors. I also added a larger center eye that all of the other eyes are looking at.
(Later that day): I added an early version of the red squiggles you see in disembodied eyeballs, using random walkers, but I'm not super satisfied with how it looks at the moment.

(8/5/2024): I finally got the eye squiggles in a state I'm happy with; it now draws using a pre-set path that it randomly jumps to the left/right of along the way. They also get smaller as they go along the eye, which improves the look a lot.
(Later that day): Fiddled with the size settings so now the eyes tend to be larger in average, so the design is less small and detailed and can be seen better without having to zoom in. Also, I made the discovery that having the veins start under the pupil (not after it) makes the eye look a lot better.


Project #3.60: Generative Rings

Density: 60%


Skew: 50%


Complexity: 100%
(7/28/2024): This is just the barebones structure for an idea I had. It generates a random assortment of concentric rings, which currently are just solid rings. But, the idea is that there would be tons of different modes to fill that space with - like a ring of touching circles, or zig zags, etc.

(7/29/2024): Got the first ring implemented! It's a connected ring of circles. I added some global variables to control the overall shape. Skew affects how random the shapes are placed; Density affects how close together the shapes are placed; and Complexity discretely increases the number of details, accents, and other added features.

(7/30/2024): Messed around with some parameters for Ring 0. I also added Ring 1, which is a ring of quills pointing towards the center of the circle, with complexity adding concentric circles in the middle of the quills.

(8/2/2024): Improved Ring 0 double-line at complexity 1/2. I also finally got Ring 2 working! The idea is to have Ring 2 be a solid ring of alternating triangles, with the triangles getting more spaced apart with less density. I finally fully implemented this ring today. I also added sliders for density, skew, and complexity.
(Later that day): I added Ring 3, which is a random sinusoidal squiggle, using the curve smoothing algorithm from Project #3.58. More complexity adds a second wave with a phase shift, and later makes each wave have thickness.


Project #3.59: Prime Factor Blocks
(7/19/2024): This project began, as all good projects do, with a Stack Exchange question. One of the commentors included a picture of the integers arranged in a square, where each number is subdivided based on its prime factors, and each slice is colored based on that prime. So 4 is made of 2 red blocks for 2×2, while 78 is a red 2, a yellow 3, and a brown 13. I thought this was really cool and decided to implement it here, with a psuedorandom number generator for coloring based on the prime factor. Each prime number is represented as an outlined white square so they stand out.

(7/24/2024): Added random grid size to the Redraw button so it actually does something.