SOFTWARE + ART + DATA
Simulations, designs & tools I have created over the years


DataVideo Mapping
I use graphs every day. But instead of graphics in Microsoft Excel, Matlab, R, Matplotlib, what if we represent data by real photos and videos. I wrote a software that maps the frames of an image sequence (or a video) to a data set.
I use graphs every day. But instead of graphics in Microsoft Excel, Matlab, R, Matplotlib, what if we represent data by real photos and videos. I wrote a software that maps the frames of an image sequence (or a video) to a data set.

Revisualizing Time and Space
How do we visualize time and space? What happens when you rotate the XYT space, so that time is now one of the spatial dimensions in a video, and Y is the time dimension. I created a series of these trippy videos by capturing a variety of plants sitting on a rotating base. I then wrote Matlab code to read the video capture, and output the trippy "slitscan" video you see on this page. The video beings at the top of vase of dead roses, and ends at the bottom of the vase. Enjoy. 
How Good Are My Drawings? Quantifying ink circles.
I like to draw perfect squares and circles as a humorous protest to technology... then I write code to analyze my ink drawings. Some protest, eh?
I like to draw perfect squares and circles as a humorous protest to technology... then I write code to analyze my ink drawings. Some protest, eh?


Physical RGB Space
In this software, I "physically" place an image in "physical RGB" space and allow the pixels of the image to be attracted to the "physical location" in "physical RGB space". This is one way I can visualize how image processing algorithms could look like if we convert COLORSPACE into PHYSICAL LOCATIONS. The red pixels are attracted to the R dimensions, the blue pixels to the B dimensions, etc. The image is modeled as a semielastic sheet that resists volatile movements of pixels, thus maintaining an aesthetic level of smoothness. In the second video you see relaxation into the original rectangular image shape after the pixels had started in the "physical RGB" colorspace locations.
In this software, I "physically" place an image in "physical RGB" space and allow the pixels of the image to be attracted to the "physical location" in "physical RGB space". This is one way I can visualize how image processing algorithms could look like if we convert COLORSPACE into PHYSICAL LOCATIONS. The red pixels are attracted to the R dimensions, the blue pixels to the B dimensions, etc. The image is modeled as a semielastic sheet that resists volatile movements of pixels, thus maintaining an aesthetic level of smoothness. In the second video you see relaxation into the original rectangular image shape after the pixels had started in the "physical RGB" colorspace locations.
Graphical Representation of Famous Quotes
What are the most common letters? I convert famous quotes into graphics based around the form of a QWERTY keyboard. Here I create a flat model of a keyboard and color code the keys by the frequency of an input sentence. Hotter colors represent more frequent letters.
What are the most common letters? I convert famous quotes into graphics based around the form of a QWERTY keyboard. Here I create a flat model of a keyboard and color code the keys by the frequency of an input sentence. Hotter colors represent more frequent letters.
Modeling my ADHD & Wandering Mind
A stochastic model where I model my wandering mind as a random angular variable, and my attempts at focusing with a fixedlength vector. I execute this over hundreds of thousands of iterations and parameter changes. So much fun doing nothing!
A stochastic model where I model my wandering mind as a random angular variable, and my attempts at focusing with a fixedlength vector. I execute this over hundreds of thousands of iterations and parameter changes. So much fun doing nothing!
Statistics on Physical Interactions of Random 3D Objects
On Zurich buses and trams, I wrote a model where I could measure how a point particle perfectlyelastically collides within a random object. Ohhh... I see a pattern.
On Zurich buses and trams, I wrote a model where I could measure how a point particle perfectlyelastically collides within a random object. Ohhh... I see a pattern.
High Pressure Spaces
I adjust the relationship and geometry of two circular walls and investigate how particles interact with the walls... more to see elsewhere.
I adjust the relationship and geometry of two circular walls and investigate how particles interact with the walls... more to see elsewhere.

Segregation by Attraction
In this model, I modeled viscoelastic biological cells in a viscous environment and gave the red cells stronger attraction (elastic spring) coefficient with themselves than green cells. Over time, as you may expect, an aggregate forms with green cells surrounding the red cells. This happens for any initial organization of the cells. 

Making room for family
In this model, I modeled viscoelastic biological cells proliferating in a viscous environment trapped under a glass pane. If you see closely, you can see the cells experience tensile and compressive stress by their color change. Also since I programmed this to be as realistic as possible, the cells can form and remake adhesions with their neighbors. You want your cells to stay together as you grow! I recommend watching this on loop. 
"Russian Doll"
What happens when you place an elastic structures inside of larger version of itself.. and keep going until you have a matryoshka doll (russian doll) scenario? Doesn't energy dissipate a lot faster than if structures hit each other in series? ... I usually simulate particles interacting with each other from an outward surface, so I wanted to investigate internal. 2D and 3D version in progress.
What happens when you place an elastic structures inside of larger version of itself.. and keep going until you have a matryoshka doll (russian doll) scenario? Doesn't energy dissipate a lot faster than if structures hit each other in series? ... I usually simulate particles interacting with each other from an outward surface, so I wanted to investigate internal. 2D and 3D version in progress.

Cell Polarity Through Contact
How do cells know what is INSIDE and what is OUTSIDE? One theory is cellcell contact. In this simulation, cells (the black dots) build cell adhesions (red line) to another cell, and the net force vectors of attraction and repulsions create the polarity vector (black line)  thus telling the cell what is inside and what is outside. Coded in Matlab, in 2008. Enjoy! 
Snippets of a Molecular Dynamics Simulation, circa 2008
While in ETHZ I wrote a bunch of simulations to explore the patterns formed when you give physical rules to point particles. What fun those simulations produced!
While in ETHZ I wrote a bunch of simulations to explore the patterns formed when you give physical rules to point particles. What fun those simulations produced!

Aw, my first image analysis software
Before the popularity of deep learning, I coded a patternmatching algorithm to help biologists quantify complicated hippocampal neuron images. When was this? 2005 at Rutgers University. 