3D Visualization for Programming Languages
MAT 259, 2022
Jiaxin Wu

Concept
I visualized the trend of different programming languages in Project 1. In this project, I picked the 5 most popular programming languages. I want to visualize the relationship between the checkouts and their popularity.

Query
SELECT
bibNumber,
cout,
cin,
title,
deweyClass,
DATEDIFF(cin, cout) AS diff,
((MONTH(cout) - 1) * 30 + DAY(cout)) AS outDay,
((MONTH(cin) - 1) * 30 + DAY(cin)) AS inDay,
YEAR(cout) AS outYear,
YEAR(cin) AS inYear,
(CASE
WHEN (LOWER(title) LIKE '%python%') THEN 'Python'
WHEN (LOWER(title) LIKE '%java %') THEN 'Java'
WHEN (LOWER(title) LIKE '%javascript%') THEN 'JavaScript'
WHEN (LOWER(title) LIKE '%sql%') THEN 'SQL'
WHEN (LOWER(title) LIKE '% c %') THEN 'C'
END) AS langType
FROM
spl_2016.inraw
WHERE
(LOWER(title) LIKE '%python%'
OR LOWER(title) LIKE '%java%'
OR LOWER(title) LIKE '%javascript%'
OR LOWER(title) LIKE '% c %'
OR LOWER(title) LIKE '%sql%')
AND (deweyClass = ''
OR (deweyClass > 0 AND deweyClass < 100))
AND YEAR(cout) > 2000
AND YEAR(cin) > 2000

Final result
I design the visualization as a column. Each layer of the column represents a year. We also calculate the distance of the mouse and each line. If the distance is smaller than a certain threshold, the line will be colored red and the name of the book will be shown.



Since each checkout is related to a certain kind of programming language. We can add toggles to decide whether this kind of programming language is allowed to be shown. We add five toggles here. Toggles can help us visualize the difference in the popularity of each programming language.




Code
All work is developed within Processing
3D Visualization for Programming Languages.zip