week#2 – “for” loop assignment

My aim for this assignment was to produce an Andy-Warhol(esque), visually abstract art with a pronounced focus on colour portrayal. This is because some of Andy Warhol’s more iconic features of pop art was his use of distinctive arrays of colour. Through this ever prominent display of colours, which was made especially overt by the black background, coupled with the illusion of depth that is added within each square, I was able to generate an unintended yet desirable end-result.

This assignment punctuated the fact that my brain is not hardwired for coding, especially p5.js – javascript coding, and to some extremes, it even made me reconsider my major (interactive media). Whilst I had ambitious ideas and concepts I wished to bloom into fruition, my abilities and understanding of coding severely restricted this. As a result, I am incredibly proud of every single code that I produced with the for() loop since it took me an unbelievable amount of time to perfect(?) it. Initially I had wanted some form of dynamic physical change of shapes e.g., squares transitioning into ellipses, circles alternating in size, but again, with my incredibly limited knowledge it was hard to replicate it.

let cols = 10; // Number of columns
  let rows = 10; // Number of rows
  let gap = 10; // Gap size between squares
  let squareSize = (width - (cols - 1) * gap) / cols; //calculating square size
  
  for (let r = 0; r < rows; r++) {
    for (let c = 0; c < cols; c++) {
      let x = c * (squareSize + gap); //x+y position of squares
      let y = r * (squareSize + gap); 
      
    //generating a random colour
    let randomColor = color(random(255), random(255), random(255));
      
      noFill(); 
      stroke(randomColor);
      rect(x, y, squareSize); // Draw the square
      
        //creating transition between square and ellipse
        for (let size = squareSize; size >= 20; size -= 2) {
          rect(x, y, size); // Draw a square
          ellipse(x + size / 2, y + size / 2, size - 10, size - 10); // Draw a circle in the middle of the square

Creating a spaced grid with randomly iterating colours was definitely doable although I can’t deny that it was a mind-twister but trying to create this transition from square to ellipse was almost impossible. I’m still not entirely sure how to adjust the coding to produce my desired result but, though not intended, this outcome was equally wonderful. I was very pleased with how it displayed on screen. For further improvements, as I have previously mentioned, I would love to first of all solidify my coding knowledge so that I can produce more dynamic and animated works. Perhaps an interesting idea could be that these squares randomly swap positions to occupy a new coordinate.

reading reflection- Casey Reas’ Eyeo talk

Casey Reas’ Eyeo talk on chance operations was a captivating exploration of the creative potential found within the realm of randomness and chaos. Throughout his presentation, he skillfully conveyed the idea that by relinquishing some degree of control and allowing chance to play a role in the creative process, remarkable and unexpected outcomes can emerge.

One impressive aspect of Reas’ talk was his ability to draw connections between chance operations and art, highlighting how artists throughout history have employed randomness as a tool for inspiration and innovation. He showcased famous examples like John Cage’s experimental music compositions, where random elements determined the outcome of the piece, and Jackson Pollock’s drip paintings, which embraced the element of chance in the artistic process.

Reas also demonstrated the practical applications of chance operations in contemporary art and technology, particularly in his work with generative systems and computer algorithms. His discussion of software and coding as mediums for exploring chance operations opened up new possibilities for creativity and self-expression, showcasing the intersection of art and technology.

Another striking feature of Reas’ talk was his emphasis on the relationship between randomness and intention. He emphasized that while chance operations introduce an element of unpredictability, they are not entirely devoid of intention. Artists can carefully design the parameters and constraints within which randomness operates, guiding the creative process toward desired outcomes while still embracing the unexpected.

Reading Reflection – Week 2

As a programmer, something ‘random’ happening in code is the worst nightmare. So, for me, the topic of randomness in computer science or coding itself was quite new. Usually, what programmers are obsessed about, is solving why ‘random’ and unexpected things are happening in their projects. So, at the beginning of the video, I was very confused in terms of how randomness can be used in coding.

After the talk, I came to the realization that even with randomness, we’re not just counting on pure luck- we are actively engaged in ‘designing’ with randomness, employing it as a tool to manipulate and shape outcomes according to our intentions. I appreciate how he nuances randomness/chance can be carefully calculated and determined, all while retaining the capacity to yield surprising results.

One question that comes to mind is whether our utilization of randomness can be regarded as an inherently random process as well. Although we don’t have access to the specific codes of the projects shown, it seems like we are trying to use randomness and make it behave in a way that we desired. I am uncertain whether, even in this context, randomness can be construed as entirely uncontrolled or arbitrary.

Reading reflection : week 2

Casey Reas’ work, particularly his piece “Maharam,” indeed offers an exploration of randomness and the interplay between simplicity and complexity in art. The concept of “tissue work” that he employs is a remarkable way to create interesting patterns and forms that emerge from seemingly basic elements.

What’s striking about “Maharam” is how it mirrors natural processes. By allowing simple wiring to interact and cross-connect in an uncontrolled manner, Reas simulates a sort of artificial evolution. This process mimics the way natural systems, like neural networks or ecosystems, evolve and adapt over time through countless interactions. It’s a testament to how computational art can capture the essence of complexity found in nature.

When he multiplied the connections, which might be a reflection of how complex systems can appear chaotic or overwhelming when viewed up close. Yet, as mentioned, Reas’ ability to eventually shape this chaos into a discernible figure demonstrates the power of coding and computational art.

Assignment 2: Generative art

I wanted to craft a celestial portrait in the cosmic expanse. I wanted to portray the animation of the galaxy in motions with every bit detail. Even though its a bit complex, I started coding. Initially, I experimented with mixing various colors and intertwining with for loop and strokes to create an appearance of radiating rays.This was the output.

And then I tried to make the beginning point to the center. Although I wanted to recreate it like a swirl. And then I added some animations to it. I wanted it to be like ellipse, but I appreciated the artistic form it took, so I opted to leave it unchanged. This was the output.

As I mentioned previously, I had a strong desire to enhance its realism. It occurred to me that with a deeper understanding of 3D animations, I might be able to achieve this goal in the future.

Week 2 HW) Loops

My project actually started from something very different from how it ended. I was trying many different things- things as simple as printing smiley faces where the mouse is clicked. Looking at the subject, I thought ‘what would happen if I use a loop for this project?’

The first step was increasing the x and y positions by 1. When I did this, everything looked the same (as expected). So I added random values to the x and y positions, which made things a bit more dynamic. At this stage, the random number was set once and the same value was added over time. (For instance, the variable tempX, which is a random value I’m referring to, would be initialized and set once, and never be changed. So, the circles were moving in a uniform way, with only the speed of movement different.) So, I added more lines to continuously  reset the random value that’s being added to x and y position, which gave the result we are seeing.

while(x + tempX < 401 && x + tempX >= 0 && y + tempY < 401 && y + tempY >= 0){
    tempX = random(-5, 5);
    tempY = random(-5, 5);
    x = x + tempX;
    y = y + tempY;
    drawSmile(x, y);
  }

The code I want to emphasize is the part where I reassign random numbers over and over, in order to create the dynamics here.

I think the project can be improved by maybe manipulating the frequency of redrawing, or drawing multiple types of random shapes, rather than just having circles every time. I also think it might be cool if I can limit the drawing to a certain area, and use the rest of the space with other types of media.

Week 2- Loops

Qazaq heritage

My concept: Ironically, I connect with my culture more tightly while being abroad by listening to Kazakh songs, cooking traditional foods and simply wearing clothes in a national style. I am pretty sure that there is a psychological reason for this. As I am abroad now, this feeling is again part of me, inspiring me to create something related to my culture and nation. Immediately, the national ornament in animalistic style came to my mind, which I wanted to illustrate as all our traditional pieces of art and clothing include ornaments of different types. Then, it felt like the ornament was not enough, so I wanted to add another symbol, which has a significant cultural value- Shanyrak (the top backbone of the yurt). For the nomadic nation, the yurt was the transportable house for every season of the year and shanyrak was the essential top part of it. Although we don’t live in yurts anymore, shanyrak still has its cultural significance nowadays. It is even illustrated in the center of the national emblem, symbolizing the unity, peace, family well-being, and common home for all people living in Kazakhstan. 
Fig 1. the ornament. Source: 94f8734cfd84b69702e6f58f422c16cb.jpg
Fig 2. The shanyrak. Source:
ae69d0f81abd14305022e8706d34d6a6.jpg

A highlight of the code I am proud of is the nested for loop code itself because I could create several ornaments just with the three lines of the code (not considering the lines needed to draw the ornament). In the previous assignment, I was copy-pasting the same code multiple times with a slight change in the x and y axes to multiply the same shape. The for loops made the task easier this time. 

for(let x=5; x<width-5; x+=70) {
    for(let y=20; y<height-5; y+=60) {
      noStroke();
      fill(100, 100+mouseY, mouseX+100);
      beginShape();
      vertex(x, y);
      vertex(...); //here many lines of vertex coordinates
      vertex(x+10, y+10);
      endShape(CLOSE);
    }
 }

Embedded sketch: Please move the mouse and click on the sketch.

Reflection and ideas for future work or improvements: If you click the mouse, the word “CULTURAL HERITAGE” appears. However, the initial idea was to make this phrase move in a circular path around the shanyrak continuously. Although I could make all other simple shapes such as ellipses and rectangles rotate along the circle, I couldn’t do the same with the text. I have to learn the functions of this and try to realize my idea. As this idea took me several hours and wasn’t successfully completed, I consider it a challenge to include it in future work. 

Week 2- Reading Reflection

Reflection on “Eyeo2012 – Casey Reas”

The idea that chaos and order can interact with one another to create something unique is what interested me the most. Pure randomness causes the disorder, while the strict rules limit the imagination by creating predictable patterns. Because of this, the application of randomness to the basic rules is the golden line, which allows to have the unpredictable details of the predictable general image. However, the way the computational designers achieve this randomness through the pre-written variables, book of ‘random numbers’, etc. raises the question of the extent to which randomness is achieved through coding. As a piece of evidence for that, the variable ‘random’ itself can be taken. In Python, this variable is referred to as “Generate pseudo-random numbers” where the ‘pseudo’ already means that numbers generated are not really random, but follow the pattern and various distributions. Moreover, the author also provides an example, claiming that the random images created actually tend to have patterns such as all moving in one direction (monotonic) or surrounding the pivotal points, etc.

The author slightly changed my perspective on the abstract art style with the use of geometric figures and random paints. In this case, I am referring to Kasimir Malevitch’s “Black Square”, Piet Mondrian’s “Composition II in Red, Blue, and Yellow” and Cy Twombly’s “Leda and the Swan” and other similar works. Before it was tough for me to understand the message of abstract art as it cannot be associated with a particular real-life object or situation in most cases. However, this is what makes these artworks unique as they don’t follow the rules, don’t reflect reality, and don’t carry one specific message, giving more freedom to artistic expression. The author claims that these artworks became popular particularly because of their randomness as the authors moved away from realism by refusing to follow the rules. The political situation mentioned in the video as the influence of the world wars is an interesting aspect for me as these artworks seem to be a kind of political movement in their own way because they convey the idea of independence, abundance of strict rules, and creation of their own reality opposed to the order created by politicians. Because of these aspects, I think that I started noticing the beauty of abstract art. 

Week 2: Reading Response

I have always thought of code as something that requires precision and organization, having structure and rules that require following. When I think about art, It’s quite the opposite. I see art as something that is unstructured and chaotic, messy.

At first thought, I associated digital art with coding. I started thinking of all these rules and constraints that I should follow, but after watching Casey Reas’s talk, I started questioning my assumptions. Can art be structured? Can coding be uncontrolled? Can the chaos of art and the structure of code be intertwined? Is it possible to let go of our control and embrace the outcome? Am I limiting my capabilities by creating imaginary categories to place different art forms in?

I was surprised to learn that sometimes the power of chaos can lead to better outcomes when it comes to digital art. I was surprised to know that there are people who are studying the art of creating generative art pieces using the simplest of codes and iterations to generate small randomized shapes that add up to build the whole picture. But most importantly, I learned the idea of embracing chaos and randomness through structure. By making a series of calculations, you can allow your program to generate a randomized artwork that you cannot control, but can build upon. I was extremely inspired by the “Fractal Invaders” piece, which plays on the fact that randomly placed squares of white and black that seem like nothing when duplicated using symmetry, can be interpreted by our minds as faces and symbols. 

This talk certainly left me curious to explore the topic of creating art using the simplest ideas but adding on a layer of randomness, symmetry and letting go of the idea of order and precision. I am amazed by the idea of embracing the territory of controlled randomness/ chaos. The talk piqued my interest in exploring more examples similar to the ones shown in the video and get inspired from them to enhance my future work.