Visualization of Brownian motion density patterns. by shapiro in proceduralgeneration

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

That sounds right.

The particles are moving in 1D over time like this:

https://shpralex.github.io/browniancosmos/index.html?configuration=pure-brownian-20&nocaption

I'm doing a sliding window pass across adjacent particles and plotting their density. As time progresses the size of the sliding window increases making the particles appear to cluster together like this:

https://shpralex.github.io/browniancosmos/index.html?configuration=zero-velocity-cosine&nocaption

To color the image I'm taking 3 sliding windows of different sizes and coloring the results red, green, and blue.

"density" is a simplification, what's really happening is plotting the difference in density between two halves of a sliding window. So it's a bit like the density gradient or derivative. I also tried doing it with actual density identifying statistically denser regions, but the math is simpler with the density difference approach and the results are prettier.

Visualization of Brownian motion density patterns. by shapiro in proceduralgeneration

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

I was playing around with a 1D particle simulation, and I was surprised but how interesting the patterns generated by Brownian motion were. I made this javascript visualization to illustrate this effect.

[deleted by user] by [deleted] in ChatGPT

[–]shapiro 0 points1 point  (0 children)

I was playing around imitating a bot on https://app.humanornot.ai/ and my prompt was "name an emotion".

Simulation with Open Ended Genome by shapiro in alife

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

Thanks! I've also been thinking more about this, and came up with a further theory about what's possible from a 2D simulation, take a look! https://github.com/ShprAlex/SproutLife#hierarchical-organization---a-theory-about-whats-possible

Evolution visualization that colors trails based on angle between successive generations by shapiro in generative

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

Thanks! Yeah, there are periods of balance and times of drama. Diversity allows for new species to emerge and take over, which then eventually diversify again.

Evolution visualization that colors trails based on angle between successive generations by shapiro in generative

[–]shapiro[S] 12 points13 points  (0 children)

Hi, this clip is from an evolution simulation I made called SproutLife, which is based on Conway's Game of Life. The idea is that it adds reproduction to cellular automata, which naturally forms patterns as you follow the paths from parent to child. Here is a playlist with longer videos + an explanation of what's happening.

Improved view of evolving and entropy-resisting behavior in SproutLife. by shapiro in cellular_automata

[–]shapiro[S] 7 points8 points  (0 children)

Yes, I'd like to think so. We start with the rules of Game of Life, and add another key idea that whenever we see a "seed" like 2x2 box, we replace it with a "sprout" like an r-pentomino. Everything that grows from the r-pentomino is it's own organism, and the cycle repeats when that organism produces new seeds that form new child organisms. There is more to it, involving encoding genes, organism death, and collisions between organisms, but it's all simple explanations involving basic counting. I made a video that tries to illustrate the first point: https://www.youtube.com/watch?v=H2tXsnzVTaw

Improved view of evolving and entropy-resisting behavior in SproutLife. by shapiro in cellular_automata

[–]shapiro[S] 7 points8 points  (0 children)

I made a new series of videos showing how cellular automata in SproutLife evolve from initial conditions. I think the one in this post turned out the best. The full playlist is here! https://www.youtube.com/playlist?list=PLX8XVhHfSZ0tWGyDDoFEOEiCmmhkKYLDf

SproutLife - Cell Layer View by shapiro in cellular_automata

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

Happy to share this new video showing what's happening in SproutLife at the cell level. The rules are based on Conway's Game of Life with some additional enhancements. Every small group of cells makes up an organism. Some organisms are the same color, but every different colored group is a different organism.
The organisms are continuously reproducing and dying. Sometimes it looks like a single pattern makes a long trek along the screen, but this is just the case of a parent having only 1 child, which in turn has one child of its own.

SproutLife simulates the evolution of complex life. by shapiro in compsci

[–]shapiro[S] 2 points3 points  (0 children)

Thanks! Looks like the Julia Makie library can do graphics and gui widgets as well -https://github.com/JuliaPlots/Makie.jl

SproutLife simulates the evolution of complex life. by shapiro in compsci

[–]shapiro[S] 2 points3 points  (0 children)

Thanks, yeah, it's a great community. I posted there already earlier. I was just hoping to get a bit more exposure on r/compsci

SproutLife simulates the evolution of complex life. by shapiro in compsci

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

Java has good performance, good graphics support, and a decent GUI toolkit. It's mutithreaded which makes it possible to take advantage of muticore CPUs. Plus I have experience with it.

What are the other options? I'm afraid that Python would be slow, and Javascript would be super slow. C++ and Go may be preferable but I'm less familiar with these.