Categories
creative coding lab project a

project a: reflection

My initial process is described in the “proposal” blogpost. Since then, I have went through quite a lot of changes that were both due to the development of the idea for the project as well as the interaction day feedback i have received.

Some major areas in which I have progressed were:

  • the adding of the “draw” feature. i decided to include that as well as the “save” feature that can be evoked by keyboard interaction to make the project more interactive and, to some extent, interesting
  • the adding of the color variety. it made the creatures look way more interesting.
  • adding the lifespan: it created constant ever-changing situation that i strived for.
  • the merge: the merging of the creatures when they collided was one of the most important and interesting features that i added. it was initially proposed by some of the testers.
  • the sin() and cos() simplification. my professor showed me how to make my own functions (mySin() and myCos()) that utilized array in the begginning to store the values  so that i can pull them out when needed instead of making the computer calculate them every time. that really aided my visualization and allowed me to display more creatures at the same time.
  • the bubbles: the colors and the sizes as well as the trajectories and speed were changes countless times to achieve the balance between them being literally invisible to something that would not obscure the creatures. moreover, the explosion of bubbles when the 
  • the reappearing instead of bouncing. as proposed by some of the testers and my professor, i decided to change that and it actually worked faster and looked better in the “drawing” mode. 



Categories
creative coding lab project a

project a: presentation

Anna Zhukova
“OCTOMORPHOSIS”
Discover a new interactive reality.

OCTOMORPHOSIS is an interactive imaginary world where you can get to know wonderfully weird creatures. They exist and interact regardless of your presence, however you can take part in their ever-changing reality.

I wanted to create a highly interactive and visually pleasing experience. I believe that the more random and surprising the experience is – the better. Of course, that unpredictability complements with a certain stability: you cannot add more features to the creatures or the world, however you can choose to capture it and experiment in “drawing mode” with how you would want to remember this world. 

Categories
creative coding lab recitations

particles

For this recitation, we were asked to create a particle pattern that would resemble something that we can see in the real world. We ere required to utilize a self-contained Class that would have different properties and multiple methods. Also, we were asked to deploy dynamic arrays.

So, I have created these bubbles that move depending on the Mouse position (and + they have their own speed as a default. They also slowly disappear and randomly appear on the screen, renewing themselves. Moreover, you can hover and pop them 🙂 

I really liked this shading component and thinking of deploying it in my project a! As well as some kind of bubbles like that. 

  • What is Object-Oriented Programming (OOP), a Class and an Instance of the Class?

OOP is a way of programming that revolves around reusability of the methods and data.

Class is a data structure that contains properties and methods that could be manipulated hence reused.

Instance of the class is the object that you can create an “object” that would have the properties and the methods of the class. 

  • Discuss the effectiveness of OOP. When is OOP useful? In what way can it be utilized?

It is very useful when you want to create the same types of objects that have the same properties and methods, meaning that they have the same patterns of behavior but behave differently. With the use of loops and dynamic arrays you can create highly responsive and interesting visuals and interactive experiences that would have been very slow and hurtful otherwise. 

  • Describe the objects you have created. What properties and methods were implemented? What kind of behaviors did you create by manipulating them?

I have created a Class Particle that has position, color, opacity as well as the speed in both directions and size.

The methods include the independent movement (move()), movement determined by mouse position (moveFrom()), color/opacity (changeColors()), popping hovered that return “pop” if the bubble of hovered on (popIfHovered()), as well as display(). 

  • Please share it if there is any challenging and confusing aspect(s) in the OOP concepts and techniques?

I got pretty familiar with all the features at this point (I think), so I don’t have anything about this data structure that confuses me.

The link to my p5.js sketch: https://editor.p5js.org/zhuanya28/sketches/7jdbC9iAG

Categories
creative coding lab project a

project a: proposal

On the recitation number 5, I have created this particular creature:

and, when creating the, lets call them “tentacles” of this, slightly reminding of octopus, creature, I had an idea of creating some type of animation for them, however, as it happens with recitations, you should only invest so much time in them. so, i decided to leave that idea until the project a comes along. and, here we are. 

so, when brainstorming different ways of how this can go, i decided to settle for the following idea which i reflected on the prototype paper:

here, i have briefly embodied the black and white version of what I am planning to create:

  1. an imaginary environment (tbd what would it be like)
  2. an imaginary creature that would interact with the mouse (and potentially with each other)
  3. the tentacle moves and the position of the objects would change
  4. potentially: the artwork would display a whole lifespan of the creatures

the title that i have came up with so far is the: 

“Octomorphosis”, where “octo” represents the main octopus-like habitats of this world and “morphosis” represents ever-changing nature of the environment due to interaction and the way this world works.

The link to the Google Slides: https://docs.google.com/presentation/d/1yoUFuLC_4ZHUt9G23rq_lBVpznVrggth8frAIwto91c/edit?usp=sharing

Categories
creative coding lab recitations

object dancers

For this recitation I decided to create a randomly-colored bee! I believe bugs have a lot of small body parts that would be nice to experiment with from movement perspective! 

My bee has moving wings, upper body legs, eyes and antennas! The wings, legs and eyes have a harmonized movement, while the eyes have their own thing going on! 

The colors are complementary by contrast! 

  • What is the benefit of your class not relying on any code outside of its own definition?

It is the first time I have utilized only class when writing a program, so it was quite interesting. I believe it is very cool because later it would be possible to multiply these objects described in class very fast. Like this:

  • What make it challenging to write code that has to harmonize with the code other people have written?  

I think it wasn’t really challenging for me from that perspective as I believe any kind of dynamic object would to some extent harmonize with another kind of that object! I believe it is going to be very interesting to look at the final results! 

  • Describe the terms modularity and reusability using the example of your dancer class.

Well, here, as I said, the use of class makes it possible to generate multiple objects in different places quite easily, which adds up to the reusability. Plus, the methods here provide modularity as they allow to have different results when called/not called.

link to the p5: https://editor.p5js.org/zhuanya28/sketches/ABLWqfTOM