A simple cardioid simulator.
The initial version used a simple single threaded CPU-bound execution logic in python src/og-python - which was really slow. Later, I improved it using GPU compute src/go.
Note: This project is mostly archived — I'm not actively working on it anymore.
The original version was developed long back (around 25-08-2021), I can't recall all the resources I followed back then - mostly I created an equation to draw the lines on my own. this might be useful - if you are interested.
- src source code:
- go fully developed cross-platform working code - uses GPU shaders.
- expt-cpp experimental C++ version (for learning vcpkg etc.) — may not work. This also uses the GPU.
- og-python created this long back - CPU only python version.
- ss screenshots / screenrecords for this README.
- video video project files (for editing/demo).
I am too lazy to fill this.
Also, you are lazy to build this.
If you need help - contact me.
If you know how to build, you probably know how to run.
Otherwise, here's what it looks like:
If you're using MinGW on Windows to build executables with go build, make sure you either:
- Use a newer MinGW version, or
- Downgrade your Go version.
Older MinGW versions generate malformed Windows binaries with DWARF 5.
I wasted a few days debugging this obscure bug.


