Here are some of my projects which are more programming based. You can find the code to some of them (and more) in my GitHub page.
- Unity Projects (and in particular augmented reality (AR) projects)
- My math visualization portfolio
- Open Processing
- Shadertoy
Unity programming (math, gaming, machine learning and more)
Unfolding 3D polyhedron
Using all sorts of elementary and interesting group theory to generate 3D polyhedrons, and then unfold them. You can check it in my GitHub repository, which contains links to some videos that I made about it.
Playing with permutations
Working on a 2D puzzle game where the theme is using permutation. Here too you can check my GitHub repository, with some video links.
Machine learning – NEAT AI
Using the NEAT algorithm to teach a troop of foxes to play a simple platforming game.
Augmented Reality
I recently started to dabble in some augmented reality in Unity. So far only have some basic stuff, which I usually combine with some interesting mathematics, but hope to have more advanced AR features soon. For now, here are couple of (silent) videos presenting some stuff that I am working on (which will eventually become less silent, and more explanatory videos).
Menger Sponge: Showing the interesting self similarity property of the Menger Sponge fractal. Using basic touch interaction to work with the application
Unfolding polyhedrons: Using the polyhedrons from the game mentioned above, we can now interact with them in AR, so you can study their symmetries and cut and unfold them in “real life”. Also added a nice feature of information which shows only when you are facing (more or less) the polyhedron itself.
Wall Tetris: One of the problems with AR, is that while we can augment our reality with digital objects, usually they don’t interact with the reality itself. In particular, and object doesn’t know if it is in front or back of real objects (e.g. walls), so we can view this digital objects even if they are hidden. In this project, I tried to overcome this issue, by first using plane detection to find a wall to put my self playing Tetris on it, and then use some Stencil test magic to make sure that you can only view the parts which should be visible. For example, looking at it from the side, the wall should hide it. On the other hand, you can try to see from where all the tetrominoes are coming from behind the wall….
Fish boids: A work in progress letting me swim with fishes above water. Using the boids algorithm for the fish behavior and a simple chasing behavior for the shark. For now the augmented reality part is only used to bring these fish (and shark!) to my local beach, but there are more plans in motion to add new AR aspects.
Folding an octagon: Understanding 2D surfaces in our 3D world is quite important both in Mathematics and generally in science. One such way to understand them is to take a 2D shape, and glue its edges together to form a surface, or the other way around, to start with a surface, and cut it up and unfold it. One important such shape is the octagon. In the following video I use augmented reality to view this process in “real” life, showcasing how this can be used when learning Mathematics.
My Math Visualization Portfolio



List with details and links (code and video) to some of the projects that I made: Math Visualization Portfolio.
Open processing – Small scale programs






Small programs, from dozens to a couple of hundred code line, mainly to visualize mathematical concepts.
Mathematical Presentations – youtube channel
More complicated programs written in Java to simulate and visualize mathematical processes, like random walks, billiard dynamics, the Chinese remainder theorem etc.
In addition, the presentation program used to make these presentations was also made in Java.
English: https://www.youtube.com/channel/UC_vMhycVr1xyQa22X2li95Q
Hebrew: https://www.youtube.com/channel/UCJeBicbzEWMrNroZ3-nJaFQ







