Blog: [Blog Home] [Archives] [Search] [Contact]

Archive for the ‘New Media Art’ Category

Pierre-Auguste Renoir The Umbrellas Algorithmic Interpretation Video

Saturday, December 2nd, 2017

Pierre-Auguste Renoir The Umbrellas Algorithmic Interpretation Video
Pierre-Auguste Renoir The Umbrellas Algorithmic Interpretation Video

I just created a video for the first time in quite a while for my YouTube account. It came about when I was experimenting with algorithmic representations of a source image using the Processing programming language. The image I happened to be working with was “The Umbrellas”, a painting by Pierre-Auguste Renoir.

As I worked with variations on the algorithm it struck me that an animation could be interesting. The basics of the algorithm were to first create a grid of equally spaced points and assign each a x,y location. The key variable at this point was the amount of spacing there would be between each x,y grid location. For this video I set the grid spacing to be 10 pixels.

Next was to get the color value from Renoir’s “The Umbrellas” image for each of the x,y locations in the grid. To draw I had decided to use the line() function. The variables for each line would be color, starting angle, and length. For the line’s color, I simply used the color value taken from the image for that location. For the starting angle of rotation, I opted to use the hue taken from the corresponding pixel. To get the hue required converting the RGB color value into its HSB (hue, saturation, brightness) equivalent. The length of the each line being drawn was determined by the brightness of the pixel at that location. This resulted in another variable: establishing what the maximum line length would be. So brightness values of 0 to 255 had to be translated into a range of lengths from some minimum value to some maximum value. The standard way of doing this in Processing is to use the map() function. I never use map() because it is an inefficient way to translate numbers from one scale into another scale. For the video, I simply divided the pixel brightness by 12 – meaning the longest a line could be was 21 pixels.

To add some variability, I added a variable for the Z axis and used a Perlin noise field to control each location’s Z coordinate. The result is that the distance of each line from the camera varies somewhat, which enhances the perception of depth in the image.

To animate the image required changing one or more of the variables associated with each grid point over time. Keeping things simple, I added a global variable that would equally increment each line’s rotation angle between frames. This created a uniform rotation for all the lines.

I then added a time variable to alter the Perlin noise field values over time and updated each line’s Z coordinate between frames. The main issue here was with respect to how much I wanted the range of Z values to vary. For comparison, below is an illustration of what you would see if a substantially greater range of Z coordinate values was allowed.

Pierre Auguste Renoir The Umbrellas Algorithmic Interpretation Video Variation
Pierre Auguste Renoir The Umbrellas Algorithmic Interpretation Video Variation

To create the output, I used the Processing saveFrame() feature to write each frame of the movie to a tiff file. Separately I had used Audacity to create a narration soundtrack for the video. Once I knew how long my audio track was, I simply dropped a variable into my Processing program which indicated the frameCount at which to stop generating image frames.

While I have previously used tools like FFMPEG to create videos, this time I decided to use Processing’s Movie Maker tool. Confirming that my tiff and mp3 files were fine, I started up Movie Maker. I specified the input sources for my files, went with the default compression of animation and clicked the “Create Movie” button. I then monitored the dialog window as the program progressed through the 3000 images used to create the video. The program ended without error.

But when I went to view the video using VLC, all I got was a black screen and horribly garbled and spotty audio. I had no idea what had gone wrong. Rather than resorting to one of my other tools, I opted to give Movie Maker another try. The only difference was that this time I selected the JPEG option for compression. The dialog proceeded as before and again ended without error. This time the video and audio were fine, except for a narrow strip of color along the video’s edge. For purposes of this video, that is something I can live with.

Unfortunately the image quality of the video has suffered due to YouTube’s overly enthusiastic image compression. Whereas my original video upload was a 3.1 gigabyte file, YouTube compressed it down to a mere 29 megabytes (you can’t throw away that much information without losing quality). While I do understand the need to economize on bandwidth, such economies can be achieved in part by viewing the video at one of the lower resolution settings.

You can view the video on YouTube at: https://youtu.be/CNE0j1LXIJ0. Give the video a watch, let me know what you think, and share it if you like it.

 

Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It


Generative Artworks: Hades to Oblivion

Friday, March 24th, 2017

A Cool Day in Hell Generative Art Landscape
A Cool Day in Hell Generative Art Landscape

One of the negatives with respect to digital art is that the concept of an original does not apply as it does with traditional art. With traditional art the original is the physical media to which physical paint has been applied and there will be only one. With digital art the concept of a physical original does not apply because of the nature of digital files, which are basically infinitely reproducible. What has long been viewed as a shortcoming does offer digital artists at least one unique capability.

Because the original artwork is a digital file that can be duplicated, it is possible to use that digital canvas as the foundation for the creation of other derivative artworks. One piece I recently completed is A Cool Day in Hell which had as its original working title Dante’s Inferno.

In creating this artwork, I used one of the generative painting programs I’d designed. The program could be characterized as the Adobe Photoshop Paintbrush Engine on steroids. With one set of parameters, I can entrust the program to do the entire painting by itself. This would be similar to the filter features of Adobe Photoshop or the auto-paint feature of Corel Painter. With another set of parameters, the program functions very much like the paintbrushes in Photoshop and Painter when placed under the artist’s control. The most interesting set of parameters are those that blend program autonomy with some degree of artist interaction. It was this third option that I used to create this particular artwork.

It was only after adding this art to my portfolio on Redbubble that I decided to take that artwork and use it as the starting point for another artwork. I decided to use the same generative painting program that I had used for the original piece. This derivative artwork, titled Passage to Oblivion, does bear a resemblance to the original on which it is based.

Passage to Oblivion Generative Landscape Painting
Passage to Oblivion Generative Landscape Painting

While similar, the two have different color temperatures, textural feel, tone and contrast. Compositionally, the large, open, somewhat mountainous subterranean landscape of A Cool Day in Hell is transformed into a claustrophobic feeling of being inside an eerie underground cave.

To see either of these two artworks on Redbubble, simply click the appropriate image above and the Redbubble page will open in a new tab on your browser. It’s particularly interesting to see how these two artworks look when applied to apparel.

Passage to Oblivion on Redbubble Apparel

Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It


New Landscape Art: Coastal Cliffs At Sunset

Thursday, July 7th, 2016

Coastal Cliffs At Sunset Landscape Abstract Art
Coastal Cliffs At Sunset Landscape Abstract Art

Coastal Cliffs At Sunset is my newest work of digital art – which I completed on the Fourth of July. Stylistically I’m not sure how I would categorize this art. Clearly it is not representational art. It’s not really abstract art though it features abstraction. It’s not cubist either though it uses elements of cubism. Nor is it surreal – although in creating this artwork I employed some surrealism.

The creation of this artwork came on the heels of my creation of Stepping Through Time using a new workflow and algorithmic processing technique I developed. In fact the process that I used to create Coastal Cliffs At Sunset is very similar to the process I used to create Stepping Through Time – which you can see on either Redbubble or CRATED.

For background information about this process and workflow, see my article Creating Stepping Through Time Abstract Art, which also discusses pixel sorting, glitch art, and databending.

Currently the open edition version of Coastal Cliffs At Sunset is available for purchase on both Redbubble and CRATED. Follow the links below to see what’s available.

Coastal Cliffs At Sunset Landscape artwork on Redbubble
Coastal Cliffs At Sunset Landscape artwork on CRATED
Contact Jim Plaxco about Limited Edition Print availability


Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It


Computational Synthesis Generative Algorithmic Art

Tuesday, June 28th, 2016

Computational Synthesis Generative Algorithmic Art
Computational Synthesis Generative Algorithmic Art

Computational Synthesis is a work of digital art I completed a few days ago which combines elements of algorithmic art and generative art with continual input from the artist. At the time I created this work I had no idea what to title the piece. In creating this artwork, I did have a clear idea visually and aesthetically of what I wanted to create but had given no thought to a title. After completing the piece, I turned to social media. I posted the artwork in a few places and asked for suggestions as to a title. Some suggested titles were:

  • Abstract Structure
  • Digital City
  • Discreet Time
  • Constructor Theory
  • Shifting Perspectives
  • Cityscape, Sky View
  • Aerial View Of Cyberscape
  • Monolith Metastasis
  • Fragmentation

While I did not use any of these titles, I do owe a thanks to the people who suggested them as they served as input to my thought process. Giving a title to a work of art can lead the observer in a certain direction when they are viewing the artwork. In choosing a title, I had to determine how well the title fit with what I was trying to say artistically. And therein lay my chief problem in coming up with a title.

I finally decided on Computational Synthesis as the title. Typically when one thinks of computational creativity, it is more in terms of the "machine" itself being the creator with the source of its creativity being within the framework of its design. In the case of this artwork, the computational component refers to my use of computational methods to produce a particular aesthetic style while synthesis points to the fact that I, the artist, was an equal partner in the creative process.

I created this artwork using an evolved version of a program I created and wrote about in Artistic Creativity and the Evolution of an Idea. For comparison, take a look at a previous artwork I created using an earlier version of this program:

Android Vision Generative Algorithmic Art on Redbubble

Following are links to the open edition version of Computational Synthesis on Redbubble and Crated, as well as a link to my contact page if you are interested in the availability of the limited edition print version of this artwork.

Computational Synthesis artwork on Redbubble

Computational Synthesis artwork on CRATED

Contact Jim Plaxco about Limited Edition Print availability

In closing, the question I ask myself is am I satisfied with the state of the program I used to create this artwork or do I want to continue to explore evolutionary pathways? I have no answer at the moment but ultimately that answer may well depend on whether or not I have a Eureka moment.

Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It


Fresh Brewed Coffee Digital Art

Wednesday, April 13th, 2016

Fresh Brewed Coffee Art
Fresh Brewed Coffee Digital Art

Fresh Brewed Coffee is a digital painting I completed a few days ago. Just as macro photography provides us with extreme close-up views of things, Fresh Brewed Coffee is a work of macro art in that it represents a close-up view of the bubbles on the surface of a freshly brewed cup of coffee. What I particularly like about this macro perspective is that it lends the artwork an abstract appearance. You can click the image above to see an enlarged wallpaper of this art.

Now I’ve been making coffee using a coffee press (aka French press) for years but I had never really "looked" at those bubbles that were floating around on the surface. Perhaps it was the lighting, but it was this one instance of brewing coffee that inspired me to create this particular artwork.

To create the artistic effect I wanted, I did some rewriting of one of my generative art programs. This involved modifying both basic functionality as well as the variety and scope of the parameters associated with the paint brush engine. FYI, what initially inspired me to write my own painting programs was a combination of the limitations of the Adobe Photoshop paint brush engine with a desire to create art that was unique to me – since I do not make my programs commercially available. For those digital artists who are also software savvy, I suggest checking out Processing (Java), openFrameworks (C++), or Cinder (C++).

The version of Fresh Brewed Coffee shown here is the open edition version and is available for purchase online at the following print-on-demand (POD) sites:

Fresh Brewed Coffee artwork on Redbubble

Fresh Brewed Coffee artwork on CRATED

If you are interested in a limited edition framed canvas print, which is 29 by 19 inches when printed at 300ppi, please contact me.

Here’s to starting the day with a good cup of coffee.

Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It


Seaside Generative Art Rip-off

Friday, August 14th, 2015

Monet Seaside Rip-off generative art
Monet Seaside Rip-off generative art
Monet Seaside Rip-off on Redbubble

Dare I say that I’ve gotten tired of looking at Mona Lisa, at least the digitized version. Just as the Playboy centerfold photograph of Lenna Söderberg became a standard image used by researchers in the field of image processing and just as the Utah Teapot became something of a standard test object for 3D graphics developers (modeling, lighting, texturing, rendering), images of the Mona Lisa have frequently been used as a test of generative art programs. I myself have created quite a few variations of the Mona Lisa – some of which may eventually see the light of day if I ever decide to make them public. But I thought it high time that I find a new work of art against which to test the generative painting programs which I greatly enjoy creating.

For this latest program I’ve been working on, I decided to make use of a painting by Claude Monet titled Morning by the Sea. This is not the first time I’ve used Monet’s work. Some time ago I created a generative art video composed of paintings by Claude Monet (read about it at The Liquified Paintings of Claude Monet).

From my perspective, with respect to all generative art programs the designer faces the challenge of balance between artist control and program freedom/flexibility. In other words, how tightly or loosely do you want to hold the reins on the program? I view the question of control versus freedom as having two components.

First there is the ability of the artist to interact with the process. An example of a large degree of artist control would be that of a digital artist using an advanced brush in Adobe Photoshop. The Photoshop brush engine has a number of parameters available that make it possible for the artist to design a brush that can vary the way in which digital paint is applied to the canvas depending upon brush speed, pressure, direction. At the other extreme is what I’ll call push-button painting. Again using Photoshop as an example, a photograph can be transformed into a non-photorealistic "painting" by simply applying one or more global filters to the photograph. A favorite exercise of mine is reverse engineering digital art that I see – not only figuring out what commercial software was used, but also determining what process was used.

The second aspect of freedom versus control is that of how the program itself is structured. Think determinism versus chaos. For example, let’s say you have the following set of statements in a program:

int red = 256/2;
int green = 256/3;
int blue = 256/4;
color theColor = color(red,green,blue);

No matter how many times the above statements are executed, the color being created will always be the same color. In other words the system is deterministic. Now consider the following statements:

int red = (x % 255);
int green = (y % 255);
int blue = ( (x+y) % 255);
color theColor = color(red,green,blue);

Even though this code will result in a multitude of colors, it is still deterministic in that for any pair of x,y values, the color generated will always be the same. Lastly, there is this:

int red = random(256);
int green = random(256);
int blue = random(256);
color theColor = color(red,green,blue);

This represents a chaotic alternative where the color created could be anything. There is no control here. Any legal color is just as likely as any other legal color to be created.

These code examples are a gross over-simplification but serve to illustrate the challenge the developer faces. At one extreme everything is a foregone conclusion while at the other extreme it’s anything goes. It is the designer’s challenge to figure out where to put the fulcrum of their generative art system.

The generative painting program used to produce the artwork for this post has not one but two hearts (just like a Time Lord). The first heart is a flowfield object that consists of two separate, internal subsidiary flowfields. You can think of these flowfields as being the physics engines that drive the bristles of the paintbrush. These flowfields serve as forces of control in the system. The second heart is the particle system – which I define as a system of brush bristles, with each bristle having its own characteristics – within limits (again that freedom vs control issue).

For testing the program, I began by creating my own version of Monet’s painting Morning By The Sea using Photoshop. The process was fairly straight forward. The lines of the painting are clear and the visual elements relatively simple. By digitally creating my own version of Monet’s seaside landscape, I am now one step removed from the original. I can also go back and modify the art to see how those modifications affect the generative process.

The next step was to use my version of the painting as the color source for my generative painting program. I must confess that the first several "paintings" I created with the program weren’t satisfactory but with each painting I would go back and modify the system.

Monet original morning by the sea vs generative seaside
left: Original Monet Morning By The Sea, right: generative version created from my modified version of Morning By The Sea

The version shown above is the first painting produced that I am sufficiently happy with to share. On the left is the actual painting and on the right is the version created using my generative painting program, which used as color input my own recreation of Monet’s Morning By The Sea so you could call this a painting of a painting of a painting. I was sufficiently pleased with the results that I decided to make it available on Redbubble.

I plan to continue to work on my program as I’m still not really happy with the brushwork that my brush bristles are producing. A thought came to me last night in bed – that being to broaden the variety of bristles that I’m currently using with a focus being on the beginning and ending of each individual brush stroke. We’ll see what happens.

About the Source Painting


The French painter Oscar-Claude Monet (1840-1926) was one of the founders of Impressionism and created a very large body of work over the course of his life. Monet completed Morning By The Sea in 1881. The image that I used as my reference source is from WikiArt.org and can be found on the WikiArt page for Claude Monet’s painting Morning By The Sea.

Bookmark it:  Stumble It  Bookmark this on Delicious  Digg This  Technorati  Reddit Tweet It