Midterm 1

For my midterm, I want to create a mini ecosystem relating to sharks and fishes. The sharks would be able to eat the fishes, and its body parts would be affected by multiple things such as the amount of fishes it ate and the various kinds of fish it ate. If the shark eats harmful fish accidentally, it would get sick and die. I want the overall piece to act like a game but also as an art piece demonstrating relationships between animals. The final piece would have graphic effects such as blood stains, and the fish would move in a cyclical pattern flowing through the water, while the shark would move randomly trying to eat its prey. People would first generate how many fish they would want there to be on the screen, and then when they’re done, they can wreak havoc by creating a shark with a keypress.  I want to use the colors of underwater, make fishes relatively colorful, and the shark grey.  The composition would look like an aquarium turned into a war zone.

I will rely heavily on classes. The sharks would definitely need their own class so the body parts can be properties in processing and altered when fish are “eaten”.  I will also rely on my skills on animating to make a dynamic aquarium, so the fish can look and feel alive. I need to learn about optimal mathematical relationships and more knowledge about how to use classes properly.

I drew some inspiration from a relatively recent viewing of blue planet, so I am now more fascinated by the ocean life. It might be seen as ironic that I would want to create a scenario where death of fishes is optimal after watching this documentary, but it’s more about showing how fishes can evolve to protect themselves in nature. Hopefully, I can implement more species into this aquarium sketch.

 

Midterm Part 1

My midterm project will be a sketch of a square universe. While looking for inspirations, I came across a tutorial about recursion, which is putting a function within the same function to achieve something like a loop but different. After following the tutorial I played around with it and came up with a really cool spaceship looking diamond object made up of millions of squares. Then I rotated the whole recursion and used the scale to zoom into the object to reveal a universe of squares.

At this point, I’ve used variables, functions, scale, rotate, conditional, and interaction in my sketch.

This part of the project asked to incorporate classes into the sketch, but I had difficulty executing recursion with a class. I need to figure out how to do this for part 2, because I have two objects moving separately, and I would like to organize them in classes.

I have a pretty solid vision for this project. First, the sketch starts off with a close up of rectangular recursion, which looks like an ancient pattern of some sort. Then with the arrow key people will be able to zoom out to reveal the diamond shape and orbiting circles. However, once people reach a certain point of scale, the diamond breaks apart into a galaxy of squares. Then the sketch zooms into the galaxy.

My initial sketch has some minor problems with the interaction, but the most urgent issue for next week will be incorporating classes.

Inspiration: https://www.youtube.com/watch?v=s3Facu6ZVeA&t=4s

*When I was uploading the sketch on OpenProcessing, it worked initially, but after saving it does not show anything because of an unexpected identifier. The program still works on Processing.

https://www.openprocessing.org/sketch/512849

Here is a screen recording of my sketch for now.

Midterm1

The midterm sketch I added was basically small video game. I made mouse point as a needle, you can hit the randomly falling balloon by moving the mouse point horizontally. For the midterm sketch, I calculated objects and oriented programing. It might be easier that I could array all the objects. I will figure out how to array objects effectively. (with out using A,B,C,D,E.. groups).  For this sketch, I did not make acceleration for balloons. Also, I need to figure how balloon and needle meets together .

 

Midterm Part 1

For my midterm project, I wanted to create an interactive sunflower that moves and grows with different interactions.

Over the 2 week process, I hope to apply the more recent tools of animation through computation to develop the sketch into a more dynamic product. Furthermore, I found the most recent class on “classes” extremely useful in developing a more organised workflow with coding in processing. I hope to utilise this to see which elements of the sketch can be enhanced and brought to life – including the background as well as the main sunflower. Ultimately my main aim is to make the Sunflower, or at least parts of it, grow into themselves when the program is first run, after which different elements can be manipulated in different ways; e.g. shifting speed in the rotation of petals, and a convincing and animated background that mimics a Van Gogh painting.

Making the initial sketch was relatively simple. I’ve found myself becoming more intuitive when creating shapes using the grid system, as well as performing basic animation functions on different shapes that can operate independently of each-other (for example the two sets of petals that spin in different directions.

However, I keep running into issues in creating my first class (for the petals). For some reason, the positioning is affected when I try, although the petals themselves still rotate accordingly and change color. Even more frustrating is that the sketch doesn’t appear at all when imported into OpenProcessing.

ORIGINAL SKETCH 1 PAGE: https://www.openprocessing.org/sketch/512825

SKETCH WITH PETAL CLASS: https://www.openprocessing.org/sketch/512616

Midterm 1

I’ve written and dealt with classes before, in Python and C++. The syntax for Java isn’t to different but I was putting curly braces in places I wouldn’t have thought I needed to. I kept getting an error with my the curly braces in my class so I commented it out and just manually generated the object I wanted to create in the set up and draw functions. I kind of want to recreate something similar to a wall of disco balls. I’m gonna need a lot more practice with the 3D render and user interaction.  The way user interaction maybe implemented is that every time the user clicks the screen, a different disco beat will play and the disco balls will change colors.  We haven’t learned how to incorporate audio yet but I’ll Just watch a video and read the documentation about how to do so.

https://www.openprocessing.org/sketch/512813

Midterm Part 1

My inspiration for the project was the background picture on my laptop which is the night sky. Originally, I wanted to create a solar system where the user can interact with it and add stars and constellations. I changed my mind after seeing a picture of a shooting star and decided to implement that idea. In my final sketch, I hope to have a house with a tree in the backyard where the user can create the stars in the sky by clicking their mouse and simulate a shooting star by hitting a key on their keyboard.

I have already created my House, Star, Tree, and Moon classes and I still need to finish the Moon and Star class and create the shooting star effect. Right now, the color of the roof, door, and house change randomly, but I may refine the colors or limit their changes. The color of the tree changes randomly to simulate the changing of the seasons. White represents winter, pale pink represents summer, green represents spring, and orange represents autumn. I have used the mousepressed function to allow the user to add stars in the sky, by next week I would like to have the stars rotate in the sky. I have created multiple classes and used if statements. To finish the project, I need to learn more about arrays and rotation.

 

https://www.openprocessing.org/sketch/512793

Midterm Part I

The basic framework for the sketch I made over the first week is very random. It consists of a character that bounces wall to wall – every time it bounces it’s face and expression change back and forth from a rectangle to an ellipse. The color and general shape change as well, and 8 smaller ellipses are released upon collision with the walls. At any point, the user can take over the character with the arrow keys on the keyboard. Clicking the mouse will produce a spinning “flower” at the point clicked.

Over the next week of this process, I would really like to expand on my current sketch by fleshing out the character a little more. I really don’t know what the final product will look like, but I’d like it to be some sort of game where the character’s expression changes every time an event happens – for instance, a painful expression might appear when it collides with the spinning “flower.”

To do this, I will definitely need to utilize classes and objects, to make all my code efficient and to make user experience easy. After learning arrays and GUIs, I might use them to add to my sketch or even take it to a whole other direction. I mostly draw inspiration from what we do in class, where we do a lot of examples with bouncing balls and I wanted to take that to the next level.

Link to sketch on openprocessing:

https://www.openprocessing.org/sketch/512801

Research Project- Casey Reas

Casey calls himself an educator and an artist. As an educator, he is a professor at UCLA in the Department of Design Media Arts. He also co-created the Processing language with Ben Fry, which can be considered as one his biggest accomplishments.

He has a lot of accomplishments as an artist as well, having his work shown in various major museums like the Whitney Museum. Casey explores with various different forms of art, such as prints, installations, software.. etc.

This is one of his recent works, called Still Life (2016). This is a custom created software, that was then installed in a gallery in New York City. The images change throughout the time, and it gives off a very trippy yet peaceful vibe. To watch how this installation looks like when it’s active, here is a link to the video that was captured of the actual installation in the gallery: http://reas.com/still_life_rgb_av_a/
There are three different types in his Still Life series, one having sound, and the others being silent. I believe that two silent Still Life installations were projected next to each other, while the one with sound was projected independently, and larger, for emphasis.

This is one of his prints, called RGB-056-006-080-823-715. This is similar to his installation showed earlier, using different color dashes. I think the name of this work is very interesting, he probably has many different versions that are slightly different with different numbers in their names. There is something very similar to this on his website with colors being black and white.

This is one of his physical installations, that was showed in the gallery in New York. It is calledPrimitives (This Could be an Extraordinary Find). I personally enjoy this one a lot, it blinks and lights up in blue. This is the link to the video to see installation in action: http://reas.com/primitives/
Casey collaborated with Aranda\Lasch for this project, for help in creating the physical form of his works.
I find Casey’s works very fascinating, and I love how he explores with different forms of art.

Research Project – The Library of Babel

Imagine a library. A pretty big library. An infinite library. A library containing all books ever created, will be created, is being created, the works of Shakespeare, the perfect biography of your life,  the same biography but all instances of your name have a single letter off. Each book consists of a random collection of 25 characters, (22 letters, ) as such, most books are completely gibberish. However, it also contains every relevant, enlightening book that can ever exist, such as the book detailing the meaning of the universe and the answers to questions you’ve been searching for your whole life. This is the foundation of the Library of Babel. The library of Babel is a concept created in a short story by Jorge Luis Borges, an Argentinian author.  The library is the universe, and it consists of hexagonal rooms, twenty bookshelves, five to each.   In just a few pages, Borges manages to paint a vivid concept with vast philosophical and scientific implications. Somewhere in the library there exists the cure for cancer, and the book right beside it would have absolutely nothing in value. The librarians in this library, as you might imagine, are generally depressed, knowing they have pretty much no chance of finding something so beautiful and useful for their lives. Want to throw out the book consisting of complete gibberish? You would be a Purifier according to Borges, a sect of people in this library destroying any book not of value. Your goal is to find the Crimson hexagon, the all-powerful magical collection of books. You would also want to find the man who read these books, the “Man of the book”, and absorb his wisdom and knowledge.

In the website https://libraryofbabel.info/, a Brooklyn author self-learned programming to create a virtual library of babel. In it, you can peruse through the library yourself or search for any combination of 3200 characters, the size of each page.  I can find what I had just wrote here verbatim, as shown below.

 

 

The search functionality adds a new dimension to the frustration the people living in the library of Babel go through. The allure of the library is the chance of finding relevant, enlightening, important information by chance, not knowing what exactly you are looking for but finding it after the fact. Searching particular texts in the library ingrains it in your mind that what you are looking for is somewhere in there, you just don’t know what it is.

The website does not create text on the fly, for that would be pointless to the concept behind the library. It also does not store every possible combination of text(29^3200) somewhere on a disk. (Note: Although that number is not literally infinite, it is so large that it might as well be infinite according to human perception) According to the author of the website, it uses a pseudo-random number generating algorithm to produce the books in a seemingly random distribution. That is, the algorithm makes it so every page is in a specific, particular spot in the library and it will always be there, but there won’t be any observable pattern browsing through them. The typical RNG of our programming languages uses the computer system time as an input as a “seed”. So in theory, the random number would have no relationship to one another because the generator would consistently take in new inputs. This website uses the location of the book, the hexagon, wall, shelf, volume, the coordinates of the book as the input to this generator. The search function is the inverse of this algorithm, where the user would enter in the “output” and be given the seed of the text.  The exact location of the text is shown below, and you can find the page yourself if you searched for the seed.

The library can certainly serve as a metaphor for life. It is a representation of the nature of information as assortments of letters to communicate meaning to ourselves and others, how we make sense of the universe and our existence.  In the Library, all the rooms are the same structure, and no one page is intrinsically more significant than the next. Who separates an English word from utter nonsense? Us! We prescribe meaning to one and not the other. If the universe is conceptualized as infinite as the library, we live in the crimson hexagon that we call Earth. This seemingly perfect arrangement of elements constituting everything we know about life, must then surely exist somewhere in the universe, amidst all the gibberish of planets with formulas that don’t support life. From a biological perspective, the library can contain the human genome, but usually nucleotide sequences for nothing. There are many more ways for something to not exist than exist. It is also comparable to our search for meaning within the vast randomness of the universe. In the library, just like life, we can never practically learn all there is to know about everything, at best we can hope for partial slices of knowledge.

Week 3 Animation Assignment

The animation sketch was fun and it allowed me to explore the different coding principles and processing syntax we have learned so far. For this animation, I was trying to make it so that there was an acceleration effect on the balls. I did this by using some of the physics principles tied to wave. Additionally, using trigonometry, I was able to make it so all the balls meet in the middle. Playing with the mouse pressed function was also a great experience. As of now, I look forward to working with Object Oriented Programming to divide any future program into different objects and classes and just take more control of the program as a whole.

https://www.openprocessing.org/sketch/509935