ICM - Week 2 - Vector Reticle

Well, things didn’t really go as I had planned this week in regards to my project. Despite the effort and research I put into my project I just could not get it to do what I was aiming for, and I was pretty frustrated in the process.


For this project I was inspired by the look of old fashioned vector displays, and the way that same aesthetic is applied in sci-fi movies like Star Wars and Bladerunner. I was aiming to create a vector-style image that felt as though you are moving down an infinite tunnel, where the end of the tunnel moves with the user’s mouse movement.

tumblr_inline_p294gorOWS1szhzdo_400 (1).gif

Using two lines layered on top of each other whose opacity was determined by random(), I was able to create the flickering effect of a vector display. And creating the ‘end’ of the tunnel and perspective lines was relatively simple using the mouseX and mouseY functions along with some simple math.

The last piece of this was to generate repeating triangles which would originate, one after another, from the center of the tunnel and them expand outward until they disappeared, creating the illusion of the viewer moving “into” the canvas.

I was able to create one triangle that looped just using an if() and else() statement based on the distance of one of the triangle vertices from the mouse, but that was the last thing at which I was fated to succeed.

Here is the link to that code: https://editor.p5js.org/sskripak/sketches/rk7nIZJFX

The video looks something like this:


At this point, what I wanted to do was have 3 or 4 triangles on the screen at once, but with the beginning of their appearances staggered. I made many attempts to do this by using millis(), attempting to reference the position of former triangles, or with ‘switches’ that turn off and on depending on the position of individual triangles. I tried re-using variables (so that the triangles would essentially reach a certain size and then return to their initial size to then regrow) and I tried setting it up so that new triangles would just be generated ad infinitum. But I just couldn’t get anything to work, and in fact I got some really bizarre outcomes. This one is particular I don’t know if I will ever be able to explain:


Eventually, Tim was kind enough to provide me with some insight, specifically that often this sort of problem would be solved with something called a class, and that we would likely be learning about these later on. It was at this point that I decided that I would not be able to solve this particular problem this week. However, while this is the case, I absolutely see myself returning to this ‘vector’ style in the future and despite not achieving my exact goal I am excited to have developed a look and some random effects I am sure I will return to.

ICMStefan SkripakComment