Once CorpGlory Dev team worked with Dima Barbanel and his team - masterskaya.pro. The idea of the project was to make computational art based on the data about graduates of a Russian business school. The resulting graphics should be projected during photos creation for the person that is being interviewed. And it turned out to be an awesome result.
Victor Gorbachev and Andrei Kondakov pushed the complexity and the concept even further, proposing special requirements from the shooting point of view: the app should produce a series of frames “growing” inside out. In addition, I was asked to make a tool where teammates could work on together.
We were interested in a series of images that we will project later. In addition, intermediate results need to maintain teamwork. I used something called paper.js — a great tool to work with vectors and HTML canvas. I made pictures serializable to a binary format to store on node.js server, so team members could work together on graphics..
We applied the same algorithm for every image, but with different values of variables. I have different types of figures. Each figure is a sequence of curves. Every curve is an array of smoothly connected dots in polar coordinates. So I can just take any
r(θ) — a function of angle, take 10 or 20 points of this function, and then smoothly connect. I need to get these dots separately to make distortion. Distortion is the sum of “bubbles”. Each bubble is a normal distribution. In the case of a circle, the algorithm begins with
r(θ) = 1, and then adds a Gaussian, screwed to polar coordinates.