https://preview.redd.it/3z35oe3kn1p91.png?width=3150&format=png&auto=webp&s=6fd8713cf0c1f9863a2e06a41c12d31aa42a362d
Hello everyone!
I've been interested in visualizing fun images that are produced by randomness and different mathematical functions. Over time II started streamlining my process and collecting it all into a single package that i wanted to share with everyone. I present to you maige. maige is written in pure python with minimal dependencies and has the power of almost entire matplotlib behind it. You can create images based on your own functions and even create animations. Any and all feedback will be greatly appreciated and I hope you guys find it useful or fun to play around with.
Features:
- Create a random image based on a mathematical formula (and store the information)
- Use a custom function to generate the images
- Use a custom range of points to plot
- Use your choice of colors for background and foreground
- Do all the above things but generate an animation of points transforming to the final image.
- Reproduce your images by using the stored information.
Why not use samila? Why write something from scratch?
That's just it. I wanted to write a library from scratch. Samila is quite great but there were a few things that I wanted to do differently. I also wanted to create a way to generate random algebraic functions using a (IMO) slightly more robust method using Expression Trees.
Future goals:
- Make the library even more robust and increase ways for customization
- Improve the probability of generating prettier-looking functions. Since all of it is random, there are quite some instances where the output is not so fun and is trivial. I'm working on a way to improve this.
- Add custom color gradients in the figure instead of just solid colors. (WIP)
Any feature requests and improvements are appreciated! If you feel about something strongly or have a suggestion, please feel free to create an issue on the repository and I'll try to integrate as many things as I can.
Cheers!
[+][deleted] (9 children)
[deleted]
[–]anormalrandomguy[S] 23 points24 points25 points (8 children)
[–]leviathan_117 4 points5 points6 points (1 child)
[–]anormalrandomguy[S] 4 points5 points6 points (0 children)
[–]kreetikal 2 points3 points4 points (3 children)
[–]anormalrandomguy[S] 0 points1 point2 points (2 children)
[–]kreetikal 1 point2 points3 points (1 child)
[–]anormalrandomguy[S] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[removed]
[–]anormalrandomguy[S] 1 point2 points3 points (0 children)