Hi, this page contains an exhaustive backlog of my previous works. I draw inspiration from many sources, be it from modern and contemporary art, architecture and nature or from the ideas of my fellow creative coders. I try to synthesize all of these ideas into the code that a write and in return inspire others to do the same. Start scrolling, or click on one of the icons that looks interesting to you to jump to that section:
Non-overlapping triangles with rounded corners. The main difficulty of this sketch was making sure that the triangles didn't overlap. In essence this can be determined by checking if any one of the three sides of one triangle intersects with any of the 3 sides of another triangle that already exists in the canvas. I ended up with a quite inefficient, brute force algorithm that sort of realizes triangle packing. Rounded corners also add to the aesthetic, I think. It makes such that it's immediately evident that the shapes are triangles. And the slightly offset contour lines add som depth. Kind of proud of this one, relatively to the short amount of time that it took to code.
A further exploration derived from the seaweed sketch. Curves that span horizontally across the screen, and are displaced towards the center of the sketch. Twitter user and fellow creative coder ejgen called it "Calder meets Joy Division", which I think is a perfectly suitable name for these.
This one was a fun one! Especially by using a palette from Roni Kaufman that I got from his color pals page. This one also inspired Roni and Gabor to make their own versions with their own personal take! I experimented with other color palettes for this sketch, but I found Roni's palette to be the most striking.
There is something about repeating randomized patterns that I can't really put my finger on. It's one of those cases where the outcome is somehow more than the sum of the parts. Additionally, having thes circles slightly overlap rather than being spaced out adds to the colorful chaos.
A further exploration of the random walk sketch. I wrote the code for this one in an object oriented manner, such that each walker is it's own instance and can explore space freely, by backtracking when it gets cornered or stuck.
It's quite fun to see which one of the walkers will conquer the most amount of grid space. Ideally, I will return to this one and optimize the backtracking procedure a little bit more, the way it's done here is quite brute-forcy.
An inefficient implementation of a random walk algorithm. Numerous random walkers are spawned, that are allowed to navigate and expand across an underlying grid. The random walker ceases to expand once it hits a dead end, or wraps on itself.
The result is quite interesting, to me at least, and reminds me of aztec hieroglyphs. Largely inspired by the work of Kjetil Golid.
In this manner, random walkers can create quite intricate artworks when you allow them to colonize space. The generated 'slabs' have an entirely different feel when the random walkers have different movement patterns. For example, in the top left piece the random walkers are allowed to jump by two tiles horizontally, and one tile vertically, whereas in the bottom left one, they are only allowed to move one position in any direction.
This is one of those sketches where there's so many possibilities to explore, that it's hard to know when to stop. On the one hand you want to push further and see what it looks like if you include these little variations in your code, but on the other hand you want to stop working on the code when you reach a point where you get visually tired from looking at the output.
This is also one of those sketches that people really liked. I think this is due to two things: on first glance, your eye is met with this colorful and satisfying explosion of different geometric shapes, which quickly turns into a curiosity for the detail and repetitions that occur on a smaller scale. Not that I have mastered it, but this is something that I often notice in sketches by great creative coders, for example Dave Whyte and Tyler Hobbs. Their sketches work on multiple scales.
This one is based on an older circle packing sketch, nothing fancy but I liked the addition of gradients and a frame. Adding a frame to your sketches usually is a nice touch, a little bit of flair and style if you will.
You can also get creative styling and designing your frame, making it an interesting element in of itself, and not simply a mundane addition to fill the canvas.
These could be considered the spiritual predecessors of the centripede series. These are the first sketches where I spanned points along the diagonal rather than horizontally or vertically. I feel like it makes better use of the square nature of the canvas. Then I offset the points' positions with various different combinations of sine waves and sometimes draw lines between them, as seen in the the galactic spinning top. Galactic Jewel is interesting because it gives a fake sense of depth, with the particular positioning of the points.
I programmed these while on a roadtrip across germany, in the early mornings and late evenings when we returned to the hotel/hostel room.
My entry for Raphaelle do Courville's weekly creative coding challenge on the topic of tangent. Initially this was intended to be something completely different, but I ended up playing with different motions of simple shapes and simple colors and ended up with this interesting animation. It was also quite tricky to make a perfect loop out of it, since the different components don't perfectly allign.
I was back in Lebanon after not having been back for almost two years, when I was coding this. It was definitely a very weird time then, with fuel shortages, and only intermittent electricity, and having to catch up with my entire extended family as well as my friends while still actively trying to push my website.
This is a little variation on one of my earliest sketches that I surprised myself with a little.
Here I'm modulating the stroke weight of the points with perlin noise. And each point isn't placed according to a grid, but rather spanned around circles that are placed on a grid. Then we can play with the angle and the radius and modulate these with 2D perlin noise.
IDK what it is about these, but there's something increadibly visually appealing about them. Almost like desert sand on the ridges of gigantic otherworldly desert dunes.