A Library Of Image Generators
Introduction
In the contemporary landscape of digital art and creative expression, the intersection between programming, media and society has resulted in innovative tools and techniques, but also failures and, sometimes financially successful, broken promises.
The concept of an “image generator library” stands out among dynamic and volatile processes as a trustworthy platform for artistic self-exploration and reflection. The aim of this introduction is to explain the concept of the image generator library and define its overarching purpose in the context of my digital and analogue art practice.
The image generator library is a growing comprehensive repository of algorithms, functions, and methodologies designed to facilitate the creation and manipulation of visual imagery programmatically. It serves as a foundational framework core to the try to build a social platform for interaction with my art. This social platform is a summary of my experiences and experiments in the areas of game design, design of social websites and (inter)activities, and art.
At its core, the generator library embodies the fusion of art and technology, harnessing the power of programming to transcend traditional boundaries of artistic creation and communication. By serving as tool and resource, it empowers to generate an almost endless array of visual compositions, ranging from abstract composition to complex multimedia installations amidst social practice.
The Idea
I am compiling a (loose) collection of generators anyway. A good reason for me to investigate the interaction of art and user, interaction and engagement, experiment and analyse the examined objectives, iterate over the library and improve the parent application “commentary”, practice counter-hacking, switch between virtual, digital and real, analogue back and forward. Mix the media.
between practice in real and virtual, programming as an sketch
evaluation of concepts and idea, which creates a feedback loop
as an easy and cheap way of exploration of uncharted territory
“the canny of the uncanny valley”
who wants to live for ever? - or the testimonial of source code, of
running code, especially, if it is a social practice of communication,
driven by communication, based on communication.
The social network of choice had been twitter for good reason. Now it is X, the possibilities within are X-ed.
The ease of being loose - how easy is it to be lost?
“The single person framework”- a paradigm in programming culture. An obsolete comment, though this is the practice here.
build model and identified parts (of the library)
organisation of a library,
thinks which I do consider:
- colours, the distinct palette(s)
- paint methods, effects
- the random source tweetRandom
- the image generators - patterns, structures, mixers → compositions of layers
- the other generators - DaDa/Merz poems, noise music
- the animation of pseudo production, productivity
- presentation concepts - webpage, exhibitions, YouTube etc, papers
- the older approaches of generator collections
⇆ besides the fundamental tweetRandom methods.
colours
For colours I use a reduced palette of RGBA values, specifically multiples of 85 between 0-255 for red, green and blue with an base alpha of 0.35. Into the mix I add a second palette of grey values, the multiples of 51 between 0 - 255. That lefts me with 68/70 colours, because white and black are doubles.
On occasion I change the alpha value, or select an even more reduced palette out of these colours.
Shadowing colours gives the colour a deeper look&feel, a complex appearance. In painting we talk of body.
This approach gives me enough variety in the space of colour to come close enough to the process of mixing and combining material colours.
basic operations
line and circle
with the choice of the programming language I already accepted and use an applied level of abstraction, a foreign influence.
paint methods
While there are a lot of possible computer-aided painting methods, I chose to explore a limited number of interesting ones.
Nevertheless, a differentiation can be identified.
Mainly a split into two groups: particles based methods and complex layer based ones.
The way of animation plays the dividing part.
Particles are drawn on the canvas one by one in the main update loop. That’s all what they need. In the particle group I sorted:
- the drip-drops effect, which are like coloured rain drops,
- lines → single strokes,
- the pencil strokes,
- the pastel crayon, which is build out of polygons
The members of particle group are all based on the pixels of the curve of the chosen basic operation. The animation does not require graphics buffer.
In contrast, the layer-based painting functions require one or more graphic-buffer-images in order to be able to display the step-by-step animation. Those methods, who apply graphic filter operations, do need them anyway.
- brushstroke
- circular brushstroke
- scratch effect operation
- and the circular operation
To render each one of these, a buffer image is unmasked using a linear or circular fade. The direction of the blend mask is key.
image generators
‘b_freelines’, ‘b_lines4sides’, ‘b_lines3sides_4’, ‘b_lines2sides_6’, ‘b_lines1side_4’, ‘b_lines4corners’, ‘b_lines3corners_4’, ‘b_lines2corners_6’, ‘b_lines1corner_4’, ‘b_linesOverCenter’, ‘b_linesCenter’, ‘g_square’, ‘g_cornerSquare_4’, ‘g_centerSquare’, ‘g_sideSquare_4’, ‘g_halfSideRect_4’, ‘g_halfCenterRect_2’, ‘g_sideThirdSquare_4’, ‘g_cornerThirdSquare_4’, ‘g_centerThirdSquare’, ‘g_sideThirdRect_4’, ‘g_centerThirdRect_2’, ‘g_sideTwoThirdsSquare_4’, ‘g_cornerTwoThirdsSquare_4’, ‘g_centerTwoThirdsSquare’, ‘g_sideTwoThirdsRect_4’, ‘g_centerTwoThirdsRect_2’, ‘g_ellipse’, ‘g_ellipseHalf_2’, ‘g_ellipseQuarter’, …, unmentioned ones and more to come
animating the paint methods
- the two types of paint methods
- the types of image generators
other generators
MERZ poem, noise sound & music, 3d generators and lib project
older approaches of collections
image examples
- gallery, a pattern lib
- formal-in-formal 2d problem focused lib,
- boxes 3d box generator,
- set of themed generators like:
- (line)scribble,
- hesse-structs,
- nay-fontein,
- virtual gardens (2d & 3d and plain structures)
lieschen mueller © 2017-24 |
|||
tweetRandom and the Social Network
review of my experiences
Second-age, a social stream puzzle game.
lieschen mueler @copy; 2013-14 |
Investigating social community applications, like besides the use of such apps, clones of
- twitter (commentary, simplified to fit the needs),
- Instagram (martianflowers.com inclusive an image producing API on the chain),
- google plus (forumplus 1st version),
- and other tries.
The ‘final’ conclusion was to clone old twitter from my memory in a smaller more handsome version to play with.
technical implementation
Variable Initialization:
Several variables are initialized at the beginning, including tweetText, tweetUserData, and tweetID. These variables hold references to the user-data, input and interactivity as string values.
Preparation Functions:
prepareTweetRandom() and prepareSecondaryTweetRandom() are functions responsible for preparing the data for generating random numbers. They may be called, when the values of tweetText, tweetUserData, and tweetID update, based on user input.
Random Number Generation Functions:
tweetRandom() and secondaryTweetRandom() are functions for generating random numbers. They utilize the values of tweetText, tweetUserData, and tweetID, as well as several indices and counters (ttIndex, tudIndex, tidIndex, etc.), to perform calculations and produce pseudo random number outputs between 0-1. These functions implement a custom algorithm for generating pseudo random numbers based on arithmetic operations over the stored data and new input.
Helper Function:
variantPixel(min, max) is a helper function that utilizes the secondaryTweetRandom() function to generate a random number within a specified pixel range (min to max).
comparison
The differentiation between this knowledge-based, social-driven approach to image generation and AI-powered image generators lies primarily in their underlying methodologies, sources of inspiration, and capabilities. Here’s a breakdown of each approach:
-
Knowledge-Based, Social-Driven Approach:
I. Methodology: This approach relies on human input, my creativity, and social interaction as primary drivers of image, media production. The users take part in this experiment.
II. Sources of Inspiration: Inspiration for image generation in this approach can come from various sources, including personal experiences, cultural influences, and social interactions. The library is the core knowledge base of artistic sensibilities, while users use the social networks to interact and inform the creative process, gather information, consume art as coproducers.
III. Random Source: While randomness may still play a role in the creative process, it is often guided or influenced by the user’s input and the context she shares. Randomness is used to introduce variability or unpredictability into the generation process, but it is not the sole determinant of the output for two reasons: the generator algorithms are my art practice, the pseudo randomness reflects the user and the user’s input, and although are well understood by the user the output appears unpredictable. Indeed the output artwork is reproduceable instead.
IV. Capabilities: The capabilities of knowledge-based, the social-driven image generator is limited by the input provided by users. It excels at generating images that reflect specifically on my artistic style, personal preferences, or thematic elements, but it lacks the adaptability to the user’s wish provided by AI-powered image generators. It’s an experiment providing a world view. -
AI-Powered Image Generators:
I. Methodology: AI-powered image generators leverage machine learning algorithms and neural networks to analyse vast amounts of data and learn patterns from them. They do not rely on explicit human input for each generated image but rather learn from examples provided during the training phase.
II. Sources of Inspiration: AI-powered image generators derive inspiration from the data they are trained on, which can include large datasets of images, text, or other multimedia sources. They learn to mimic the style, content, and characteristics of the training data, often producing highly realistic or novel outputs.
III. Random Source: While AI-powered image generators may incorporate elements of randomness or stochasticity, it is typically at a much deeper level within the algorithmic architecture. Randomness may be used to introduce variability or diversity in generated outputs, but it is controlled and shaped by the learned patterns and constraints of the model.
IV. Capabilities: AI-powered image generators are capable of producing highly realistic, diverse, and contextually (ir)relevant images based on their training data. They can generate images across a wide range of styles, genres, and subjects, often surpassing the capabilities of traditional knowledge-based approaches in terms of fidelity. They appear more complex, but are delivering the predictable useful unsurprising average.
the current state
images and examples,
reconstruction of tweetRandom with a new source application
commentary
7structs, comments_2, comment3lib, library
slowly melt older approaches into the new library by iterating over versions
sometimes a need to rebuild older models to fit into the new context
constant review and testing
extending the image, 3d construction, and the social functions.
I mean iterating over fusion of different inflective variants[2], re- and deflection of forms are acting as the cause of the change in the meaning of forms themself, in which the meaningful forms are the source of the varieties. The reason why in art de- & composition, de- & construction let emerging and are merging grammar of meaning. This is a constant, variable[1] process of breaking frames of, and framing social rules.
The state of meaning, the zeitgeist, is not hypothetical, but it is a, temporarily hyperactive, thesis about the state, the syncrethesis.
This text includes, if not involves, one or more puns.
[1] constantly variable
[2] variations?
Variation is the fact that something occurs in multiple forms. Variety or variant is one of the possible manifestations. They are often used as synonyms, though they are not.
An algorithm can produce a wide variety of images, but on the other hand the same picture can be the result, set or map, of very different algorithms.
Art acts like grammar, meaning, speaking, spelling and writing, it is short language[*3]. Certain forms disappear, just to be reborn centuries later.
[3] is language a (working) social misconception?
[4] we only see what we can see, aka what we know and are willing to acknowledge. Our views are biased by our views. Whereas ‘we’ stands for any single person or any social entity.
scribble lib collection library ideas 4 library in the hunt project library Library for Images List of Bots and Generators Gustav Metzger Tweetbot Navigation