Constellations
MAT 259, 2021
Lara Floegel-Shetty

Concept
My idea for this project was based on seeing the interesting shapes that the data I used would make, replicating somewhat constellations.

I wanted to look at the most popular non fiction books at the SPL from the years 2006 to 2019 and create connections between them based on their dewey classes to see the resulting shapes that would come from it.

I used the following query to get the top 2000 books of each year and repeated the search for all years used in the data visualization. I chose 2000 data points for each year as that was the highest my laptop could go before it started affecting performance and I did not want too much of a clutter to occur with a high number of data points but the amount of data points can be increased by changing the n variable in the code.

Query
Query that looks at all of the non fiction books from the years 2006 to 2019.


SELECT
YEAR(cout) AS years,
deweyClass,
title,
COUNT(bibNumber) AS Counts
FROM
spl_2016.outraw
WHERE
(deweyClass BETWEEN 000 and 999)
AND deweyClass != ''
AND deweyClass != ' '
AND itemType = 'acbk'
AND YEAR(cout) = 2006
GROUP BY deweyClass,title,YEAR(cout)
ORDER BY Counts DESC
limit 2000;

Preliminary sketches
My inspiration for my data was based off the constellation map as shown below.



Using that as my basis, I wanted to create a 3D visualization of it where the data would determine the shapes of the constellations and see if there would be any interesting shapes that would form.




Process
I used the following query to get the top 2000 books of each year and repeated the search for all years used in the data visualization. I chose 2000 data points for each year as that was the highest my laptop could go before it started affecting performance and I did not want too much of a clutter to occur with a high number of data points but the amount of data points can be increased by changing the n variable in the code.

Using the data points, I randomly placed them into fourteen segments based on the year they belonged to to create a 3D spherical shape. I am working on placing data points based on astronomy positions to provide an even more interesting visual, but that will come a bit later. Each data point is color coordinated based on the dewey class that they represent and a color table is provided to show the dewey color representations. The points in each segment are then connected based off if they are in the same dewey class with the lines having the same color as the points they connect. The order of the connection is entirely random and results to every iteration of the data visual having different constellations form.

For the user interface, the user is able to preform the following functions:
1. choose which years and segments to see allowing for easier comparison and closer looks into each year's formed constellations
2. 0 to 9 keypad that allows user to see each dewey class
3. R allows user to see the rotation animation of the sphere
4. L allows user to see the labels of each data points and the title they represent when they hover over them with their mouse
5. D allows user to turn off the data points to see only the constellations




Final result
Although there are definitely improvements to be made and are being made in the spacing of the segments and the cluster of points around the outer rings of the sphere, I really like the visuals that the data has created and I thought it was interesting how vastly more popular some subjects are then others, creating much more dense constellations.








Code
All work is developed within Processing 4.0a3
Source Code + Data