Categories
creative coding lab

Reading Response 3: New Media Art

 

In the article, New Media Art was described as projects that utilize emerging media technologies, exploring their cultural, political, and aesthetic potentials. Most examples are interactive web pages. However, almost 15 years on, the definition of New Media has been partly reconstructed due to the rapid development of digital technology.

Firstly, the wide adoption of smartphones and mobile apps have significantly impacted how people engage with digital content. The rise of social media platforms like Facebook, Instagram, Twitter, and TikTok has also influenced the way artists create and share their work.

Secondly, the integration of artificial intelligence and machine learning technologies has paved a new way for artistic exploration. Artists have been experimenting with generative algorithms and AI-driven creation. 

Thirdly, advances in VR and AR have expanded the possibilities for immersive and interactive art experiences as well. Artists have been enabled to explore new artistic practices like 3D environments, and virtual reality installations.

In summary, the landscape of New Media Art has evolved in response to technological advancements. The themes, tools, and mediums employed by new media artists have largely shifted responding to the dynamic nature of our digital age.

My first chosen art work is “My Boyfriend Came Back from the War”.

“My Boyfriend Came Back from the War” is a unique online art project made by Olia Lialina in 1996. It is an interactive story on a webpage, telling a fragmented and non-linear narrative through text and images. As you click through the story, you uncover layers of it about a romantic relationship affected by war. 

Olia Lialina is an artist from Russia, born in 1971. She’s known as a pioneer in exploring and creating new media art. Her work often explores the human experience in the digital age, using the internet as a medium for artistic expression.

“My Boyfriend Came Back from the War” is considered as a special experiment from the 1990s when artists started playing with the internet for art. I was fancinated by the way the story is told, not in a straight line but by clicking on hyperlinks, just like a puzzle. Lialina is recognized for her contributions to the early net art movement, where artists embraced the internet as a novel canvas for creative experimentation.

My second chosen art work is “Genetic response system 3.0”.

“Genetic Response System 3.0” is a thought-provoking net art project by Diane Ludin in 2000. It delves into the intersection of genetics and technology and investigates the evolving discourse surrounding the human genome project and biotechnology. 

Diane Ludin is a poet, media artist, and product manager. She is known for her work at the intersection of art, technology, and cultural critique. She has exhibited her internet and media installation work throughout the US, Europe, and Australia. 

In “Genetic Response System 3.0”, Ludin used a database to collect and reuse online materials, creating a unique visual style. Her way of mixing images and words challenges the complicated language around biotech. She did not treat media content as benign, nor did she treat audiences as passive. She’s committed to constitute a new meaning to human genome by representation. Just as Stuart Hall suggested: “Representation is not about whether media reflects or distorts reality, because this would imply that there’s only one true meaning rather there are many meanings.”

Categories
creative coding lab

Project B Proposal

https://docs.google.com/presentation/d/1bCmYGHXCRPoRBrkkXL6LG97NlYpTXS2sHdAju3mLegw/edit?usp=sharing

Working Title:

Journey

Project Description:

My project B tells a story of a journey of self-discovery, taking the form of interactive audio visualization. The user is invited to immerse themselves in a non-narrative journey, experiencing an attractive blend of rhythmic visual elements.

 

The foundational scene portrays the silhouette of an individual on his way to the distance. From the moment he set out, he never stoped moving forward. Regardless of the evolving surroundings, this figure remains centered in the visual field. The person’s movement, whether walking or running, as well as the changing landscape, dynamically responds to the tempo of the background music. If possible, I would show the process of the person growing up from his or her childhood. Time permitting, I would also try pixel manipulation to control the color of the canvas, probably changing as scrolling down.

My project B is an abstract expression of the concept that everyone’s life experiences define their unique self, and invites users to think, engage, release and refresh, reflecting on their own journey of self-exploration. In this enchanting journey of audio-visual exploration, each step echoes with the heartbeat, and every scenery unfolds a symphony with the soul. It’s as if users are penning theirs unique existence on this vibrant canvas, striding forward like that solitary yet resolute silhouette. Hopefully users could be emotionally touched, purified and healed at the journey’s end.

Categories
creative coding lab

Mini Project6: Particle World

Blue Tears

https://calistalu.github.io/ParticleWorld/
https://editor.p5js.org/calistalu/sketches/X0MrgBfje

Brief Description and Concept

I got my inspiration from the splendid natural phenomenon, which has an extremely romantic name: blue tears. It occurs particularly in bays and coastal areas, when certain types of microorganisms in the water emit a blueish glow when disturbed by movement or waves, creating a stunning visual display of blue light at night. 

Demo/Visual Documentation

Coding

for (let i = 0; i < others.length; i++) {
if (i !== particles.indexOf(this)) {
if (this.ron == others[i].ron) {
let distance = this.y - others[i].y;
if (distance > 100) {
this.shouldSlowDown = true;
break;
} else {
this.shouldSlowDown = false;
}
}
}
}

if (this.shouldSlowDown) {
this.spd -= 0.1;
this.spd = constrain(this.spd, 1, 2);
} else {
this.spd = 2;
}
}

the original version

Initially, I had this part of code that measures the distance between each particle and all others. If a particle moved too far away, it would be slowed down, simulating the effect of sea waves. I was thrilled to achieve this interaction between objects. However I later came up with a more beautiful and satisfactory pattern: 

update() {
this.y1 = sin(600 * this.movex1) * 10;
this.y2 = cos(400 * this.movex2) * 30;
this.movex1 += 0.0001;
this.movex2 -= 0.0001;
this.y = this.y1 + this.y2 + this.y3 + 3 * sin(frameCount * 0.1);

this.ns = noise(this.yoff);
this.yoff += 0.01;
this.y3 += this.ns * this.spd;

if (frameCount % 800 == this.time) {
this.y3 = 0;
}
}

The sine wave turned out to be perfect for simulating sea waves, nothing but the parameter of this.y1 and this.y2 were determined after numerous experiments. Furthermore, I used frameCount to control the ‘lifespan’ of each wave, and I integrated the original version to simulate the falling tide.

Reflection

  1. Object-oriented programming (OOP) is to combine group of variables and related functions into a unit. A Class is a blueprint that defines the properties and the methods common to all objects constructed. An Instance of a class is a specific object created from a particular class, which has its unique properties but shares all the methods in that class.

  2. There are two fundamental benefits of OOP: modularity and reusability. All the objects can be easily modified without affecting other parts of the project, because each of these functions can be encapsulated within the class. Additionally, some facilities can be used rather than need to be built again and again. OOP is useful especially when working on a complicated project with multiple objects to organize the code.
  3. I defined two classes for two different objects, Particle1 and Particle2.  The display ( ) method uses the properties of the object to determine its color and draw it on the screen. The properties and methods of these objects are used together to create complex behaviors and interactions. Glow( ) is my favorate method because it grabs the essence of blue tears and brings life to the waves.
  4. I’m still not quite clear about how to achieve interaction between different and separate objects. If I can figure this out, I might be able to create a falling tide that begins where the sea wave disappears, and vanishes when it meets the next wave.