Winter Blues
MAT 259, 2019
Yichen Li

Concept
This project continued the concept from my previous assignment, with the addition of lines connecting checkout instances of the same title together. This highlights items that are checked out more than once, since it is the case with many of them.

Query
SELECT title, (title LIKE '%depression%' AND title NOT LIKE '%great depression%' AND title NOT LIKE '%new deal%') AS depression, (title LIKE '%melanchol%') AS melancholia, (title LIKE '%boredom%') AS boredom, (title LIKE '%tedium%') AS tedium, -- (title LIKE '%ennui%') AS ennui MONTH(cout), DAY(cout), HOUR(cout), MONTH(cin), DAY(cin), HOUR(cin) FROM spl_2016.inraw WHERE DATE(cout) BETWEEN '2016-01-01' AND '2016-12-31' AND(HOUR(cout) BETWEEN 10 and 20) AND (-- title LIKE '%schizophrenia%' -- OR title LIKE '%bipolar%' (title LIKE '%depression%' AND title NOT LIKE '%great depression%' AND title NOT LIKE '%new deal%') OR title LIKE '%melanchol%' OR title LIKE '%boredom%' OR title LIKE '%tedium%' -- OR title LIKE '%ennui%' ) GROUP BY title , MONTH(cout), DAY(cout),HOUR(cout),MONTH(cin),DAY(cin),HOUR(cin) ORDER BY MONTH(cout) ASC,DAY(cout) ASC LIMIT 500

Process
Initially, a sphere is used to represent each checkout instance, with y axis being the keep time of the item. The sphere had to be reduced to a polygon to save speed.
Later, a point is used instead of a sphere, with lines which each connect all checkout instances of the same item (differentiated by title). However, it took too long to render






Final result
Added functionality of showing all checkout instances involving a certain word with key press in order to save loading time.






Code
All work is developed within Processing
Source Code + Data