Makie.jl
SproutLife
Our great sponsors
Makie.jl | SproutLife | |
---|---|---|
11 | 6 | |
2,270 | 573 | |
1.8% | - | |
9.7 | 0.0 | |
9 days ago | almost 2 years ago | |
Julia | Java | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Makie.jl
- Julia and Mojo (Modular) Mandelbrot Benchmark
-
how to visulaise motions and vectors in 3 dimensions?
Just look at this lotenz attractor https://docs.makie.org/stable/
-
Julia lib to get vector paths of font glyphs?
There does exist some code for reading glyph geometry from fonts - you can find some of it in the Makie source directory: eg https://github.com/MakieOrg/Makie.jl/blob/master/src/bezier.jl - you can see that there's quite a lot though...
- Makie.jl
-
Visualization of physics simulations
You'll want Makie.
- Makie: High level plotting on the GPU with Julia
-
SproutLife simulates the evolution of complex life.
Thanks! Looks like the Julia Makie library can do graphics and gui widgets as well -https://github.com/JuliaPlots/Makie.jl
-
Issue using Gadfly
There was also this recent thread where some folks were talking up Makie.jl, for which there is apparently also a Grammar-of-Graphics-style wrapper called AlgebraOfGraphics.jl.
-
Plotting in Julia (native packages)
If you're looking for native then Makie.jl is probably your best bet. It's still a little underdocumented and the integrations with the rest of the ecosystem are still incomplete, but it's a pretty amazing plotting library. Fast with easy GPU acceleration, good interactivity and animations (great for making GUIs), and easy to extend.
-
Zig library for generative images
How tricky or hard would it be to create nice looking plots from that? Something like https://github.com/JuliaPlots/Makie.jl but more low level.
SproutLife
-
Cellular automata that evolves and resists entropy
SproutLife is an open source project and there is a writeup on the github page that explains more about how organisms, genes, and mutations work.
-
SproutLife simulates the evolution of complex life.
https://github.com/ShprAlex/SproutLife SproutLife essentially creates a multiplayer game on top of Conway’s Game of Life, except that instead of being played by people, each player is an organism simulated by a computer. The rules are that each organism starts out as a small “seed” pattern and then grows according to the rules of Conway's Game of Life. The organisms have an open ended genome which lets them turn off some of their cells as they grow, which counter intuitively can let them grow larger. The biggest organisms win collisions against smaller ones. Organisms can reproduce by creating more seed patterns, and passing on their genes to their children. The results are quite interesting both visually and mathematically. In particular, the mathematical part of it is that there is emergent behavior that continuously tends towards order while being disrupted by beneficial mutations that push the system towards chaos. The system demonstrates growth and collapse as seemingly complex and successful solutions are replaced by more effective simple ones. I think that ultimately this kind of simulation can potentially be useful to model real technical, cultural, political etc trends that we see around us which are all products of evolving living systems. I’m dabbling with some ideas for taking this to the next level. Please check it out and let me know what you think!
-
Simulation with Open Ended Genome
Hi Everyone. SproutLife is a project that I’ve been working on for a while and I’ve finally put together a presentation + new code release.
- SproutLife 1.0
-
Introducing SproutLife 1.0
You can download and run the java based application from the github page.
-
'game of life' with rules to enable evolution
https://github.com/ShprAlex/SproutLife/tree/master/gallery
As far as "evolving towards what", here are my thoughts on the subject:
The inspiration for SproutLife was to create an open ended genome with unlimited potential for evolution.
The initial success was that this was possible.
Anticlimactically, it turns out that an open ended genome in a turing complete environment does not lead to some kind of transcendent evolutionary product. The solutions that emerge are still limited by the simple problems they are tasked with.
It is the evolutionary journey, rather than a specific destination where SproutLife can be most informative. It can be used to study the role that disruption plays as a threat to stability and a necessity for progress.
In particular, the process of "collapse" is an interesting topic for investigation. From Covid to the popping of stock market bubbles, political upheaval, and even global warming, we are surrounded by real and potential falling of the established order. SproutLife also exhibits this kind of behavior and can let us understand how to quantify and perhaps predict it.
What are some alternatives?
Gadfly.jl - Crafty statistical graphics for Julia.
game-of-life - Conway's Game of Life
PyPlot.jl - Plotting for Julia based on matplotlib.pyplot
Game-Of-Life-Implementations - Conway's Game of Life implementation in various languages
Gnuplot.jl - Julia interface to gnuplot
rsp-game-of-life - Conway's Game of Life in Java in a browser.
RCall.jl - Call R from Julia
OpenToday - Android application for the organization of life
oneAPI.jl - Julia support for the oneAPI programming toolkit.
LifeSimRPG - Simple JavaFX Controls based GUI for a Life Simulation game, inspired by classic older titles like Kudos and GameBiz
duckdf - 🦆 SQL for R dataframes, with ducks
SproutLife-Gallery - Gallery SproutLife Genomes and GIFs. Please feel free to submit your own.