TouchDesigner: Data Visualisation (process)
This was the meat of my project. TouchDesigner is an absolutely massive program that is able to do practically anything with minimal coding knowledge. However, this still doesnât take away from the fact that it is, again, a massive program and the 12 weeks of TouchDesigner tutorials and classes wasnât enough to scratch the surface, probably.
Also, I forgot to document things while I was working on this, but... it was essentially days of YouTube tutorials, wiki help pages, an overheated laptop, and cursing at 3am.
When I first started messing around, I made this:
What I wanted was a linear bar graph of the sentiment data which would then bend into a circle, as shown below:
(^ defining position and shape of line/circle)
(^ feeding the data into the render network)
The above was created with the help of this tutorial.
But I realised that this wouldnât work with datasets larger than the 23 rows I used to test things out: if I inputted, say, 10k rows of data, then the circle of rectangles would become hopelessly squished. I also had no idea how to rotate each of the boxes around so that they would all point towards the centre of the circle, which would have made it somewhat more bearable to look at.
So then I explored other methods:
...spheres looked better than boxes, at least.
Hm.
I liked this a lot, and I almost made this into my final... but then I realised that the points in that sphere were selected arbitrarily (relatively, at least) to fill its mesh. Whereas before I was able to select the number of divisions in the circle (and map the spheres to these divisions) based on the number of rows of the input table, now I found that some data were lost or cloned again and again to fill the empty spaces of the sphereâs mesh. In short, I couldnât reliably control the number and position of points in the sphere, so I abandoned this method.
...but it still looked the best :(
I went back to the circle method, but I dropped the line-to-circle method completely and tried something else to distribute the points more comfortably:
If one circle isnât enough, then try two - or five.
The first four operators on the top left of that screenshot are the circles that I used to determine the position of each of the data points. Then I divided the circle into certain percentages based on the total number of rows of the input data:
(36%, 24%, 20%, 16%, 4% of the data will be mapped onto each circle respectively)
...the percentages were arbitrarily chosen via trial and error, but yâknow, Iâm no mathematician :â)
The problem was now the fact that the size of the circle was too large for some of the months. For example, if I input Aprilâs data (which only had 23 rows compared to Mayâs... 10k something rows), then there was this big empty space with a few floating balls. Technically, it was effective in conveying just how little we spoke in April, but I figured that if the data wasnât as obvious as the April example, then thereâd be very little difference between, say, May and Juneâs texting data. Which wasnât very interesting.
So I normalised all four monthsâ number of rows to fit between 0.2 and 1.4 (the numbers I determined would look the best)











