Est tempora vero facere est placeat tempore quos. Consequatur nam deserunt sint nulla magni recusandae ab autem. Voluptas sed incidunt harum necessitatibus porro enim illo. Ab quam commodi veritatis. Dolor iure esse unde sint. Facere reprehenderit nostrum illo temporibus voluptatibus. Vero sapiente sint culpa. Cum rerum aut et. Minima suscipit animi hic molestias blanditiis repellendus. Impedit vel est dolor autem et molestias assumenda iste. Nobis laboriosam doloribus iusto omnis eum sunt. Ratione ut omnis consequatur minus. Sapiente eum id dolor modi aut voluptatem eligendi. Voluptatibus sint nihil quibusdam quod accusamus et. Perferendis impedit debitis minima culpa sit omnis fuga. Rerum voluptatem est sit. Iusto pariatur qui doloribus et asperiores. Ex sed ullam perferendis nostrum. Aut quas adipisci sed consequatur explicabo ut.
Aut quas adipisci sed
Est tempora vero facere est placeat tempore quos. Consequatur nam deserunt sint nulla magni recusandae ab autem. Voluptas sed incidunt harum necessitatibus porro enim illo. Ab quam commodi veritatis. Dolor iure esse unde sint. Facere reprehenderit nostrum illo temporibus voluptatibus. Vero sapiente sint culpa. Cum rerum aut et.
suscipit animi hic molestias blanditiis repellendus. Impedit vel est dolor autem et molestias assumenda iste. Nobis laboriosam doloribus iusto omnis eum sunt. Ratione ut omnis consequatur minus. Sapiente eum id dolor modi aut voluptatem eligendi. Voluptatibus sint nihil quibusdam quod accusamus et. Perferendis impedit debitis minima culpa sit omnis fuga. Rerum voluptatem est sit. Iusto pariatur qui doloribus et asperiores. Ex sed ullam perferendis nostrum. Aut quas adipisci sed consequatur explicabo ut.
Note that ALL my explorations are also visible on https://greweb.me/plots where the sourcecode is published as well. Each of my genuary entries are physical work, made with generative code. either plotted with a pen plotter or printed with a 3D printer – let's dive into it.
#1 Perfect loop / Infinite loop / endless GIFs
This first day kicks off with a very easy and common topic for me: the "plot loop". A pen plotter (I mostly use the AxiDraw V3) is drawing a grid of frames on a watercolor paper with various fountain pens & inks. Before the plot is made, it digitally existed as a .SVG file (this is the standard vectorial image format for plotter artists). That .SVG was generated with code, written in Rust, that would randomly place circles contained in a square, in a way that circles don't collides – technique called "circle packing".
The fact is is using randomness allows to generate infinite amount of variation and this is the basic ground of "generative art". Moving to a physical plotted work put a lot of pressure on curating THE ONE out of the infinite amount of possible variations, because it takes hours to execute physically with fountain pens – you can't go too fast with such pen.
I chose a variation of circles and different density of spirals to let the pen/ink/paper medium express in the physical world. The digital creation is trivial and simple, but the physical creation really enhances the beauty of it with unique textures.
For this one, I developed a real time and interactive plot generator and streamed it on Twitch.
The plotter is running for 10 minutes without interruption, constantly drawing triangles with a translation, scale and rotation that is defined by the viewers through commands. I developed that UI so you can get an instant feedback on your controls. The value users define are "target" to slowly change too, which interestingly debounces inputs from viewers to reach some form of consensus.
These streams are experimental and I don't always have viewers, so this was a bit a solo experiment that day, but I had up to 10 viewers once and it was quite an interesting experience to play with! I will continue making these in the future. If you're interested by these I usually stream ontwitch.tv/grewebat least on Wednesday/Saturday around 4PM CET.
If you are interested by the technical details on this interactive live draw experiments, I have open sourced it at https://github.com/gre/livedraw
#3 Glitch Art
For Glitch Art, I have reused that "livedraw" framework and developed in it the idea to Glitch Mona Lisa with a plotter.
A first phase draws Mona Lisa with scan lines. viewers are able to possibly GLITCH the x-offset in the middle of that plot.
A second phase allows to draw random squares on top of the plot, and the streamer (@greweb) have to randomly change pen colors too!
#4 Intersections
Interaction were also made in this live draw interactive mode, allowing viewers to chose position where to draw spirals, and the plotter would go plotting them one by one.
#5 Debug view
For debug view, we used my main "live draw" experiment which consists of drawing mountains and where the viewer is able to shape the mountain. my stream is the debug view!
In that setup, it's still very generative where, instead of using a RNG, the randomness comes directly from people. This makes it a generative co-creation collaboration!
In order to curve the mountains, you use words and letters in the chat and the A-Z alphabet is distributed on a X-axis curve based on their occurence and time. It follows a ADSR envelope like notes in audio.
#6 Steal Like An Artist
I inspired from the great work of Tim Maxwell with some code and my plotter.
#7 Sample a color palette from your favorite movie
My favorite movie is Blade Runner. I sampled random points from the cover and plotted them with gel pens. It tooks more than 10 hours and I was a bit disappointed by the result (and my poor choice of colors) but the journey to make it was great!
#8 Signed Distance Functions
For Signed Distance Function, I developed from zero in Rust the basic code to make distance function, 3D raymarching logic with lightning to then use the value as a way to distribute a voronoi map and sample random points inside it (higher there need to be black, more likely a point is sampled). The points are connected with a bezier curve and the travel is optimized with TSP – which takes A LOT of computation time.
#9 Plants
For plants, I entered for the first time the realm of making 3D .STL with Rust code.
This is the equivalent of 2D plottables .SVG but applied to 3D: 3D printables .STL files generation!
I developed a low polygon tree generator, that I could print and paint with acrylic. I had so much fun in this process & I will do more in a near future!
For the technical aspects, I used Hull algorithm to make polygons from a sample of points. For the trunk I have made my own code by "extruding" a polygon that rotates around a center.
#10 Generative music
Generative music was yet another moment of exploring something new. I don't have any background in music or anything, but I played quite a bit a decade ago with Web Audio API when it was out as well as software audio trackers like SunVox. However I never played with analog modular audio (and analog is my obsession lately) so I bought a Roland T-8 and J-6 modular sync on which I played during a stream. I then used the audio stream resulting of it to analyze the frequencies with Fast Fourier Transformation (FFT):
Here is the resulting plot:
#11 Suprematism
For suprematism, I explored the idea to do it 3D space. I made another 3D objects generator and printed it with a Creatily Ender 3. The generator yields various low-poly tree variants (.STL format) that can be printed and then painted.
The important aspects I have put in my code is that objects are aligned on 2-5 axes and need to be touching each other.
For Tesselation, I reused #6 and make it with more areas.
#13 Something you’ve always wanted to learn
I skipped this one, because it's literally most of my Genuary entries! this kind of prompt was too meta for me as it's the way I think Genuary it should be about anyway!
#14 Asemic
As most of my entries, this one was streamed on Twitch too. The whole development of this one from scratch is documented with a replay available (in French this time):
#15 Sine waves
For Sine Waves, I tried to find something interesting enough as I didn't want to "just plot sine waves". I decided to do some 3D objects again:
I really enjoy low-poly in general so it's a theme I want to stay close to when I do 3D objects. This was done with signed distance function too as I used Marching Cubes algorithm to create polygons from the distance field of a 3D sine wave.
Here is what another resolution could have looked like:
Combining distance function and marching cubes is actually very interesting for low poly as you can chose a low resolution to create these objects and I have re-explored this in #29.
#16 Reflection of a reflection
For this one, we collaborated with to make a generative piece together in context of #genuaryTogether.
The idea was to repeat multiple times the reflection of a triangle. With only 6 successive reflections we can produce 64 triangles that way. Each successive reflection will have a slight divergence & distortion.
Plotted with Sakura 05 gel pen on Fabriano Black Black paper.
#17 A grid inside a grid inside a grid
For this one, we collaborated with to make a generative piece together in context of #genuaryTogether. This was a very loooong plot but definitely worth the time!
#18 Definitely not a grid
For this one, I decided to explore the concept of "quinconce" [FR] (latin quincunx) which is common everywhere in art from the medieval decoration to your wallpaper – but also pretty known in gardening ("semer en quinconce") in order to make sure the plants have a great distance from each other, instead of using a grid. Interestingly, i'm not sure if this exists in Nature, unlike other fractal and "golden spiral" that we can find in brocollis.
#19 Black and white
For Black and white, we did another livedraw interactive experiment, that consisted of drawing circles but making sure we don't draw over the past drawn. so again, no RNG used here, purely driven by viewers! I continue to develop more "primitives" to make better livedraw experiment in the future, and this one was pretty cool, I also had the pleasure to have coming on that stream at one point <3
#20 Art Deco
Playing with Gold gel on A4 blue marine paper. Initially made for #genuary 2023, JAN. 20 Art Deco prompt, a fxhash generator was generalized. It can yield various properties including x and y mirroring.
by username username
project name project name project name
#21 Persian Rug
An exploration similar to #20, yet so much different:
#22 Shadows
I partially solved something I always had trouble doing: plotting solid 3D scenery, you know with clipping out the triangles that are hidden behind others in the front. I have implemented z-indexing and avoided to draw triangles over existing triangles, however in a bit too pessimistic way which can make triangles fully dropped. It's also not implemented in a performant way at all, but it was fun to figure it out. There is an accidental misalignment in the two colors.
#23 More Moiré
#24 Textile
This one has been temporarily skipped because the difficulty for me to gather all the materials I needed: I wanted to play with plotting bleach on a black textile. will come back to it at some point.
#25 Yayoi Kusama
#26 My kid could have made that
and they did:
#27 In the style of Hilma Af Klint
I explored the complex problem of filling surface with pen plotting, there are so many different ways to do it, this time simply using spiral and circles, but there must be better to have less glitch!
A variation of #14 that reuse words to make proses.
#29 Maximalism
I have pushed farther the idea of distance function and marching cubes. This combines various resolution of 3D segments and other shapes to make an abstract statue that can be 3D printed. I made it a fxhash collection too.
by username username
project name project name project name
Not everyone saw yet the potential of 3D printables, and the fact these are NFT utility that can export a .STL too, but this is very cool to distribute "ready to print and paint" own physical objects, especially when they are all randomly unique! As this is my "OG" collection of 3D printables, I may consider the OG collectors of this collection for future drops.
I also had a lot of fun playing with Thermochromic PLA filament that changes color on different temperature.
#30 Minimalism
In opposition to Maximalism, I have made a minimalistic 3D object which is a very simple distance function formula of removing a sphere from a rounded box. I also used marching cubes to get a printable .STL.
#31 Deliberately break *
the prompt was a very generic idea of "Deliberately break one of your previous images, take one of your previous works and ruin it. Alternatively, remix one of your previous works." which I took as "mashup multiple previous work you did" with also using the idea of destruction.
This greatly concludes my Genuary as it was then minted for #genuary32th which as of today is still collectible! Each item of this collection provides a great digital visual (slightly animated too) but is also allowing you to export a .SVG to plot. I offered to plot & ship without any extra cost for those who want (free only for the 'minter', limited in time, check https://greweb.me/plots/nft).
I'm going to stream ontwitch.tv/grewebsome of these plot orders. See you there!
#genuary26 prompt is "My kid could have made that". They literally did. Walked them through the curation process of gen art, they chose an output and they decided when to pause the plotter and change pen. #genuary#generative#penplotter#plottertwitter