Tuesday, November 28, 2006

Final Thoughts

This course is almost finished, just one more day to go which is today's class! Well, when I first started out, my interest in art got me to sign up for the course and A.I. just sounds cool. I think, this whole blog idea really worked throughout the course and I wouldn't suggest anything better to display our case presentations.

As for the first few weeks of the course, I think it started well and I enjoyed the artwork we created in class. Weekly reflections and case studies were getting into me but I should have expected this as it is a 70% coursework. Anyways, I would suggest, for the reflections that we could have different questions every 2 weeks or so, just to help us get more inspired to write more :P

Can't wait for the rest of the class presentations and most of them seem really interesting! Gd luck to everyone!

Genetic Algorithm and Art



Biography

Michael Gold is President of Microgold Software Inc., makers of the WithClass UML Tool. His company is a Microsoft VBA Partner and Borland Partner. He has a BSEE and MEng EE from Cornell University and has consulted for Chase Manhattan Bank, Merrill Lynch. Currently, he is a senior consultant at JP Morgan Bank. He has been involved in several .NET book projects, and is currently working on a book for using .NET with embedded systems

What is Genetic Algorithm?

As defined from Wikipedia.org, genetic algorithm is “is a search technique used in computing to find true or approximate solutions to optimization and search problems, and is often abbreviated as GA. Genetic algorithms are categorized as global search heuristics. Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover (also called recombination).”


A number of people in the art world are experimenting with what is known as evolutionary art and even sold a few of their works. Basically, genetic Art is a subset of evolutionary art and uses genetic algorithms to generate the art.

Computing Process

Michael has created this art to show and provide the users a head start on preparing their own art one day with genetic algorithm. He create his art using C# and .NET. He has experimented a bit with genetic algorithms and creating fitness functions that produce art on a Windows Form.

The basic idea behind creating art from mathematical equations, is to produce a color from a formula operating on an x,y coordinate. (In three dimensions you would produce a color from an (x,y,z) coordinate.). In the given art, Michael has
geared up formulas to produce 4 possible colors from results ranging from 0-3.

The first dataset for comparing our art was derived from the simple formula is (a + b) mod 4. This formula forces all the simulated results to values between 0 and 3 The genetic algorithm will produce genes that try to converge on a formula that approximates the formula. It is better that the algorithm not converge to the correct answer (a+b) mod 4, because the approximation to the formula is what produces the original art.

Here are some examples of the above code in resulting artworks produced after 1000 generations of converging on the formula.

Simply, multiplying the above formula [(a * b) mod 4], you can see the following result. This is a bit more sophisticated than the first example.

And finally, Micheal has also powered b to a [(a^b) mod 4] and this will give the most complicated art of them all. Changing the color scheme a bit, by producing a different set of colors from the results of (0-4) and running the algorithm on a 1000 generations against the ab mod 5 data, we get the art textures


public void Plot(Form1 TheForm, Graphics g)
{
// Fill the whole form with a light gray color to erase old drawing
g.FillRectangle(Brushes.LightGray, TheForm.ClientRectangle);

// go through each x,y coordinate and plug it into the equation
// produced by the genome to derive an integer representing a
// color
for (int i = 0; i < color="blue">
for (int j = 0; j < color="blue">
double calc1 = PerformCalculation(i, j); // do calculation
if (calc1 > 4)
g.DrawLine(Pens.LightBlue, i, j, i+1, j);

else if (calc1 > 3)
g.DrawLine(Pens.Purple, i, j, i, j+1);

else if (calc1 > 2)
g.DrawLine(Pens.Red, i, j, i+1, j);

else if (calc1 > 1)
g.DrawLine(Pens.Yellow, i, j, i, j+1);

else
g.DrawLine(Pens.Navy, i, j, i+1, j);
}
}

The data points for the fitness function ab mod 5 are shown in listing 2a. The first 2 numbers in each triple set are a and b respectively. The last number is the resulting value of the equation ab mod 5.


Comparison

Comparing the above pieces of artwork done by Micheal Gold, I would rate the most recent one the highest because I believe it has more varity and color combinations than the rest. The more complicated the equation or formula maybe, the better output it will have, even though it may take much longer to process. The final picture also has the best effect than the others as it creates a flow of colors and lines.

References: Micheal Site, Wikipedia

Tuesday, November 07, 2006

C.E.B. Reas

Biography

C.E.B. Reas is an artist and educator living and working in Los Angeles. His work employs ideas explored in conceptual and minimal artworks as focused through the programming concepts that he created for his artwork. He exhibits, performs, and lectures in the US, Asia, and Europe. As an associate professor in the Design Media Arts department at UCLA, Reas interacts with undergraduate and graduate students. His classes provide a foundation for thinking about software as a medium for visual exploration. In 2004, he has also done a selected workshop at City University of Hong Kong called “Processing Workshop”

Artist Statement

"Systems have been the core of my work for the last twelve years and for the last six years I’ve been creating dynamic systems in software. I work in two areas: organic systems and conceptual systems. The organic systems are derived from my interest in artificial life and the phenomenon of emergence. The conceptual systems are more formal and explore the nature of software, representation, notation, and process. I’m fascinated with the way temporal and logical processes are encoded and decoded through symbols. "


Computing Process

Tissue Type A-002002Archival Epson paper with archival Epson inks1 with AP, signed11"x14"

One of Reas famous work is the “Tissue.” So what exactly is the “Tissue?” Tissue exposes the movements of independent software machines. Tissue is an example of software creating a fluid and gives an unexpected interaction rather than more typical strict and mathematical constructions. For this particular piece of artwork, it didn’t mention about the software he has used to develop the art. However, for his other artworks, he mainly uses C/C++, OpenGL and JAVA. He has created 28 prints from the program he has created.

Each line in the image reveals the path of each machine's movement as it responds to surrounding in its environment. The process consists of simple layers of code combine to create a complicated behavior of these machines. Each machine has two software sensors which determine the distance from each of its sensors to the first stimulus point as indicated in the code below. This helps to detect the environment and two software actuators (actuator is the mechanism by which an agent acts upon an environment) to propel itself.

dx = stimulusX - leftSensorX;
dy = stimulusY - leftSensorY;
leftDistance = sqrt(dx*dx + dy*dy);
dx = stimulusX - rightSensorX;
dy = stimulusY - rightSensorY;
rightDistance = sqrt(dx*dx + dy*dy);


According to the above code, the sensors and actuators determine the specific behavior for each machine. Creating thousands of simultaneously running software machines, there are five types of behavior each specified with a color. These are:

  • Variable speed
  • Direction
  • Position of movement
  • Size
  • Turning rate

  • Also stated with this type of behavior are the constraints in which, when they hit the edge, they reverse direction, for example. Each machine continually alters its direction and speed by analyzing its position in relation to the environment. The software then normalizes the two distance measurements, “leftDistance” and “rightDistance”, and compresses the values between 0.0 and 1.0. The resulting values are input into a nonlinear function, returned, and saved. These two new values are averaged and stored into a variable called “normSensorAverage:”

    normSensorLeft = leftDistance/maxDistance;
    normSensorRight = rightDistance/maxDistance;
    normSensorLeft = hump(normSensorLeft);
    normSensorRight = hump(normSensorRight);
    normSensorAverage = (normSensorLeft + normSensorRight) / 2.0;

    The speed of the machine is then modified using the value of “normSensorAverage” and the constant value “maxSpeed,” which is the maximum speed that a machine is capable of reaching:

    speed = speed + (maxSpeed - (maxSpeed * normSensorAverage));

    The new speed and position are updated based on the same calculations are made for each additional stimulus and then the X and Y positions. These calculations occur for each of the thousands of machines that are simultaneously displayed on the screen.

    Tissue Type A-022002Archival Epson paper with archival Epson inks1 with AP, signed11"x14"


    Tissue Type A-012002Archival Epson paper with archival Epson inks1 with AP, signed11"x14"

    Analysis / Comparison

    The artwork of Rhea has been displayed at some art museums such as process/drawing, a show of recent and new works opening 1 october 2005 at [Digital Art Museum] in Berlin. So I would like to compare the above two artwork. With similar color patterns and lines, I actually like both of the above art not becuase of their similarities but of the overall outlook. The second artwork has more color expression whereas the first one has a better flow of art (integrated from top to bottom).

    More examples of Rhea's Artwork:

    Process 8


    Process 6

    Reference: Rhea's Site, Interview

    Wednesday, October 18, 2006

    POV-Ray (Ray Tracing)


    Biography

    Jaime Vives Piqueres is currently working as a computer technician in Valencia (Spain). He is a 3D graphic artist and is addicted to Ray Tracing. Started as an hobby, Jaime spends all his free time working and creating POV-Ray (Persistence of Vision Raytracer is a high-quality, totally free tool for creating stunning three-dimensional graphics) scenes. In 1994, he first heard about ray tracing when he was exploring stereogram and figured out that POV-Ray served stereogram to create its images. And therefore, he installed POV-Ray and started exploring. Jaime believes that raytracing with POV-Ray was much cheaper and, the most important, more satisfying for him. Therefore, he gave up his musical hobby some years ago, and devotes all his free time is now for POV-Ray.

    Artist Statement

    None

    What is Ray Tracing?

    As stated in Wikipedia.org, Ray tracing is “a general technique from geometrical optics (behavior and properties of light) of modelling the path taken by light by following rays of light as they interact with optical surfaces.” It is used in the design of optical systems, such as camera lenses, microscopes, telescopes and binoculars. It works by tracing, in reverse, a path that could have been taken by a ray of light which would intersect the imaginary camera lens.

    What is POV-Ray?

    The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program available for a variety of computer platforms. It was originally based on DKBTrace (command line ray tracing program), written by David Kirk Buck and Aaron A. Collins. Jaime uses this program along with several image rendering programs to create his art.

    Computing Process

    Firstly, Jaime visualizes the real world and to observe the surroundings. One he gives the overall picture in his mind, he would use a text editor called SciTe to type the description of the objects using the POV-Ray language. Inputting the text file he created into the POV-Ray raytracer will help to render the scene description into a graphic format (file). The difficulty of understanding the information needed in the text file of the 3D description could be to its extreme but once one learns the necessary techniques and skills, it is only the “entering the data directly in 3D form.” Creating the objects of his art, Jaime recently started using Wings3D, which is very different and simple to use.
    Jaime also uses The Gimp to create or retouch height and material maps used into the scene.

    All that is done curently with an AMD 64 X2 3800+ and an Intel P4EE Dual Core, both running Linux Fedora Core 5, and using the latest versions of POV-Ray and MegaPOV, compiled from sources for each platform.


    Jaime has included a set of features such as fake studio-like lighting equipment, like umbrelas and softboxes. It includes also several pre made arrangements for the most typical studio layouts, wich can be used directly with your own objects, or to render .hdr maps to light your already existing scenes. There is an example scene showing the usage of both methods, and also a tool scene to generate the .hdr maps. Jamie had been listed in POV-Ray Hall of Fame for his art using POV-Ray. On numerous occasions, he has been rated within the top 5 in the Internet Ray Tracing Competition (IRTC) where you can submit still images or animations. In 1999, Jaime created and submitted “Landmark” which was ranked 4th overall.

    Here is a list of the different parts and the techniques used for each:

    + RIVER

    Height_field + fog. used the technique of contiguous height_fields to build the long water surface. A underwater fog was added to make the transparence less uniform.

    + BRIDGE Height_fields.

    The idea for the bridge was really obvious: the scene seemed to want it. Is done with 3 height_fields and some cylinders.


    Source Code

    // *** dangerous bridge (distant object = low detail) ***
    union{
    cylinder{<0,0,0>,<0,50,0>,2 translate <-255,0, 10>}
    cylinder{<0,0,0>,<0,50,0>,2 translate <-255,0,-10>}
    cylinder{<0,0,0>,<0,50,0>,2 translate <>}
    cylinder{<0,0,0>,<0,50,0>,2 translate <>}
    cylinder{<0,0,0>,<0,40,0>,2 translate -40*y rotate -45*z translate <-255,40, 10>}
    cylinder{<0,0,0>,<0,40,0>,2 translate -40*y rotate -45*z translate <-255,40,-10>}
    cylinder{<0,0,0>,<0,40,0>,2 translate -40*y rotate 45*z translate <>}
    cylinder{<0,0,0>,<0,40,0>,2 translate -40*y rotate 45*z translate <>}
    height_field{
    tga "hf_bridg"
    translate -.5
    water_level 0.1
    rotate -90*x
    scale <512,128,20>
    translate -10*y
    }
    height_field{
    tga "hf_brid2"
    translate -.5
    water_level 0.1
    rotate -90*x
    scale <512,128,1>
    translate <0,-10,10>
    }
    height_field{
    tga "hf_brid3"
    translate -.5
    water_level 0.1
    rotate -90*x
    scale <512,128,1>
    translate <0,-10,-10>
    }
    texture{T_Wood7}
    scale 0.75
    translate <-10,610,1000>
    }

    Here's more artwork created by Jaime. Both of below art have won top prize at the IRTC and the second image, Bonsai, is treasured at the hall of fame. Comparing these two top artwork, I like both very much but I'm slighty in favor of the second one. It's more more realistic with almost prefect color combinations, lighting and image rendering. The first art is in fine detail as many small elements make up the artwork. It seems like Jaime is trying to protray a message with the first art.



    References: Wikipeidia, Jamie's Site

    Tuesday, October 10, 2006

    Charles Csuri

    Biography

    Charles A. Csuri is an artist and computer graphics pioneer and a professor at The Ohio State University and a former All America Football player. In 1964, he started to experiment with computer graphics technology, with limited sources however, a year later he began creating computer animated films. The 4th International Experimental Film Festival in 1967 at Brussels, Belgium, he was awarded him the prize for animation. One of his computer films is also in the collection of New York's Museum of Modern Art.

    For over 22 years and with the support of National Science Foundation, the Navy, and the Air Force Office of Scientific Research, he has directed research projects in computer graphics. This covered 15 major projects and over 8 million dollar of funding. More than forty graduate students in computer science were engaged in the research. In addition, there were over fifty students from the field of art.


    Ohio State University awarded him the ‘Joseph Sullivant Medal’ which is their highest honor. The award is made on the basis of alumni or a faculty member's work which has had a significant impact upon society. It is awarded only once every five years.

    Infinite Digital Art

    Charles got the concept of Infinite Digital Art in 1966 just after he created “Flies” and “Random War” in which he used a random number generator to produce a series of images dealing with flies and another with soldiers. In his 3-d world of objects, Charles gives these objects behaviors and so they have to respond to the rules. For example, each of them has their own individual properties such as lighting, rotation angles, or even the atmosphere. Then, the objects copy themselves or change entirely to a different object at any instance.




    Charles defines many functions which can be used to make changes to the objects and their relationship to one another. One function can be applied to just one aspect of an object. For example, lines and their thickness can be represented by a mathematical function, b-spline function. The line thickness can change to all directions such as front to back or from the right side to the left side. The density of each objects atmosphere is set with parameters in another function.

    His animation process basically consists of 5 main functions. He applies these functions to create his animation art.

    1. Uses algorithms representing parameters
    2. These algorithms determine visual elements (i.e. color, shape, lighting)
    3. Programming strategies to create random variation and levels of control
    4. Setting limitations to position scale, rotation angles, etc
    5. The software keeps track of pervious parameters to make changes

    And the software?

    Charles writes his animation art in AL Language (Animation Language) combined with a mathematical function called the b-spline. The AL language is an extension of Scheme which is a LISP-like language which is powerful and general purpose, but relatively easy to learn and use. It is an environment for procedural computer animation which provides powerful modeling language. This allows him to create his art in a more elegant and beautiful way. The founder of the AL program helped Charles to write the b-spline function and the geometry of the objects are include to work with Renderman and BRMT. The built in functions in the program helps to improve the quality of his art.

    Critics

    From New York Times, Mattew Mirapaul, added a statement in his article by Barbara London of the Museum of Modern Art quoting the following:

    “What [Csuri] did was way ahead of his time," said Barbara London, MOMA's associate curator of film and video. "I put him in a league with people like Ed Emshwiller, who came out of painting and science-fiction illustration. They really had a vision of how to use these tools."

    This statement basically outlines the understanding Charles had of the tools/software he used to create his art. Ed Emshwiller was one of the best during the 1960’s in computer animated films. Therefore, Barbara rates Charles as the same league as Ed Emshwiller.



    Saturday, September 30, 2006

    Generative Art

    Generative Art

    Bogdan Soban was born in Slovenia on 10th Dec, 1949. He graduated from grammar school in Nova Gorica and earned a degree in mechanical engineering. During his degree, for the first time he saw a computer with data processing which he stated ‘was a turning point of his career.’ Inspired by the computer enormously, he gave up the field of engineering. After finding a job, he started developing and programmed commercial applications. Once settled, he used to develop many programs using generative art to generate unpredictable piece of visual art during his free time. Every art he created was something very unique to him and therefore, he organized many exhibitions and live presentations on his art work and his process of generative art.

    Artist Statement

    “The main purpose of my project is to create pictures – artworks on the screen of the computer, to choose interesting and aesthetic examples and save or print them. Pictures are created using my own genetic designed software without applying any existing program of graphic design available in the world…”

    So what exactly is generative art?

    According to Wikipedia.org, generative art refers to “art or design that has been generated, composed, or constructed in a semi-random manner through the use of computer software/mathematical algorithms…”

    What is the art and computing process?

    When Soban first started creating his artwork, he used to use GWBASIC but then he switched to Visual Basic. The computation of the functions in the program is that it will only create the art once, and will never be repeated in the future. According to the art process, there are infinite numbers of possibilities. Take for example, 3 colored squares, with 16 different background and square colors in addition with 100 different dimensions of squares (135 possible positions of the squares on the screen). Having said that, it can take more than 80 billions years to see all combinations. And of course, this is just a simple example. So the possibilities of creating such art are endless.

    As mentioned before, generative art is using mathematical instruction to basically create art and this is exactly what Soban does. He also defines the rules by which the artworks are created with influence of unpredictability. The calculations that Soban inputs in the program defines mathematical expressions that have definite values of all x and y coordinates. For example, he has created on program that allows him to move around (up, down, right, left) and then discover how the image looks from different views from the starting point of the coordinates (0,0). The important thing is the to apply the right and correct mathematical functions that create interesting shapes far away from point (0,0).

    This is all done by using random number generator which helps in calculating the starting value of the generative process. This way, it randomly inputs all the different coordinates and all the infinite possibilities to create the ‘generative art.’

    As stated earlier, he created his first art using BASIC and random number generator. During the 80’s, many people were amazed to see Soban’s new way of creating art. The mathematical expressions were that of choosing the largest elements determining an artwork such as shapes, sizes, colors. It was always unpredictable and would never repeat again. Here are two examples of his first artwork on a computer.


    In 1999, he found many articles and papers that were similar to the type of art that he was creating. Discovering different experiences from artists, he learned many new concepts of creating art on his computer. So it was a
    matter of time since he got his first program using mathematic expressions and formula based on algorithm. The art below are two examples of mathematically generated pictures.


    I would like to compare the two art above. I think its a difficult thing analyzing art that is created mathematically or even randomly. I really like the 2nd picture because its applies different colour combinations and looks more like a real artwork. However, the first art colours really stands out and gives an impression of something sharp or fire-like is portraited on the art.

    On Soban’s website, he has posted up some of his demo programs that he has used to create his artwork. I have tried out 4 of his programs and they look pretty cool to me. These were:

    - real time image generator based on mathematical algorithms

    - text-based image generator

    - square based generative program

    - image generator using spray techniques

    I really enjoyed using the image generator using spray techniques because it was quite new to me and it was different from the other programs I used. The text-based image generator was also a pretty funky piece of program. It basically uses text user inputs and based on that it creates the art. The other two were also good programs that I enjoyed using.

    Here are some more artwork created by Soban



    I like the oceanic blue used in the first 2 art and for the one above, it looks more or like a graffiti art with different colours and shapes forming a vague image which looks pretty awesome

    Rerferences: Wikipedia, Soban's Site

    Tuesday, September 26, 2006

    Codagraphs (Personal Site)

    ** For full case study, please go here **

    Biography

    Writing and composing his own stories at a young age, Simon David Eden, is a artist comprising computer technology and digital processing to create art. He graduated from the Royal College of Art in London in 1987 with a Master of Arts with Distinction in filmmaking in which he was awarded a scholarship by Goldcrest Films. After graduation, he worked as a screenwriter in United States and Britain to support his experimentations and family. After a decade of comprises, he took a two year vacation just to focus on his work as an artist. But this wasn’t his only passion, his interest in fine arts and music open opportunities to stage concerts at various colleges and clubs throughout UK.Simon creates his works in a number of different mediums such as photography, paintings, photomontage, etc. In 2002, he began to integrate computer technology and digital-processing into his art which he called “Codagraphs”. A series of works entitled "The Weight of Fire" emerged and were first exhibited in a solo show at the Square One Gallery in Chelsea, London, in late 2005.

    Artist Statement

    “… the inspiration for the Icythys [ick-thoos] Variations grew out of my desire to create something that would have a direct and natural link to the Bahamas, and yet also flow organically from my research into the ancient bonds between science and nature, which was the guiding theme behind my Weight of Fire series.

    The mystical ichthys symbol [ichthys is the Greek word for fish] is formed when two circles of the same radius intersect in such a way that the circumference of each passes through the centre point of the other.

    The Greek philosopher and mathematician Pythagoras considered the symbol - also known as ‘the measure of the fish’- to be invested with sacred qualities, and the circles themselves appear as potent symbols of spirit, unity and the cycle of life, in many ancient cultures.

    As the first known inhabitants of the Bahamas were the Siboney Indians, who depended on fishing for their survival over 7000 years ago, the ichthys seemed a fitting subject to explore for the exhibition… “

    Simon gives a statement on his work, Ichthys Variation #2, and what inspired him to create such art. Ichthys is created from two equal circles with interest meeting through the center point. He has also given a brief history on the topic of his art.

    Wednesday, September 20, 2006

    Artwork

    Here's the artwork I created during the last class. Don't go deep with this pic...u won't find much..haha

    Heres some art I created recently...