For this assignment, at first I was still not that familiar with how vector functions in terms of creating dynamic objects so the first thing I did was to watch and follow several related tutorial videos by Daniel Shiffman.
I take this assignment as a chance to practice my skills of utilizing vectors, as well as to get more familiar with object movements. So my basic idea was to make some objects show up and move randomly on the screen, once they touch the edge, they come back in the opposite direction. Then I specialized the object as the emoji 👻:
I used the class Ghost to create multiple ghosts in the window. Vectors are utilized to represent the position as well as their velocity while moving. I also included one interactive part: every time the mouse is pressed, one new ghost would appear at the position of (mouseX, mouseY).
I kept on working to explore more possibilities that I could do for now. So what I did was creating several geometric figures which looked like neon-style:
Then I suddenly got an interesting inspiration from a Chinese painter named Wu Guanzhong吴冠中, who combined Chinese calligraphy, western techniques of impressionism, as well as traditional Chinese ink painting together to form his own style, usually including dots, lines, and plains(btw his Chinese painting is currently on exhibition in Shanghai.)
Here are some reference pictures by Wu:
Based on Wu’s style I modified my sketch into:
The screen recordings and code of my sketches:
Screen Recording 1- Floating Ghost. https://editor.p5js.org/Xiangyi/sketches/gcZ73A_vh
Screen Recording2 – neon shapes https://editor.p5js.org/Xiangyi/sketches/TzX612DUP
Screen Recording3 – Chinese painting https://editor.p5js.org/Xiangyi/sketches/fy5XgEZ61
However, it is obvious that the painting style is more uncontained rather than regular or exactly geometric. So I am also considering how to incorporate the stroke of brushes dancing on the canvas. Also, it would be great if I could simulate drawing via mouse or keys, letting the “ink” slowly permeate the paper to create some visual effect, but I have not find ways to do that yet.