Seven Sins Spindle
MAT 259, 2016
Weihao Qiu

Concept

Based on data from Seattle Public Library, this project studies the relationship between the checkout times and the publish year of books related to seven deadly sins.

Each book is represented as a line in the space, which connects the time axis in the center and one of the seven checkout count axes in the outer area. Each checkout count axis is presenting the range of checkout count of one specific sin, such as greed or sloth, from a one endpoint to the other endpoint. So given one item's checkout count and which sin its topic it is about, a location can be found at that sin's checkout count axis. Connecting this location with the location of publish year at time axis, the line can be drawn.


Query
select distinct
title.title,
(CASE
WHEN substring(itemType.itemType,3,3) = "bk" THEN "Book"
WHEN substring(itemType.itemType,3,3) = "cas" THEN "Audio"
WHEN substring(itemType.itemType,3,3) = "cd" THEN "Audio"
WHEN substring(itemType.itemType,3,3) = "vhs" THEN "Video"
WHEN substring(itemType.itemType,3,3) = "dvd" THEN "Video"
ELSE "OTHERS"
END) as MyType,
(CASE
WHEN keyword.keyword ='Lust' THEN "Lust"
WHEN keyword.keyword ='Gluttony' THEN "Gluttony"
WHEN keyword.keyword ='Greed' THEN "Greed"
WHEN keyword.keyword ='Sloth' THEN "Sloth"
WHEN keyword.keyword ='Wrath' THEN "Wrath"
WHEN keyword.keyword ='Envy' THEN "Envy"
WHEN keyword.keyword ='Pride' THEN "Pride"
ELSE "OTHERS"
END) as MykeyWord,
substring(callNumber,-4) as PubYear,
COUNT(_transactionsExploded.bibNumber) as Counts
from
itemToBib, itemType, keyword, callNumber, title, _transactionsExploded
where
itemToBib.itemNumber = itemType.itemNumber
AND itemToBib.itemNumber = callNumber.itemNumber
AND itemToBib.bibNumber = keyword.bibNumber
AND itemToBib.bibNumber = title.bibNumber
AND itemToBib.bibNumber = _transactionsExploded.bibNumber
AND itemType.itemNumber = itemToBib.itemNumber
AND (keyword.keyword = "Lust"
or keyword.keyword = "Gluttony"
or keyword.keyword = "Greed"
or keyword.keyword = "Sloth"
or keyword.keyword = "Wrath"
or keyword.keyword = "Envy"
or keyword.keyword = "Pride")
AND Cast(substring(callNumber,-4) as UNSIGNED) > 1900
AND Cast(substring(callNumber,-4) as UNSIGNED) < 2015
Group by itemToBib.bibNumber

Preliminary sketches

My 3d changing-over-time visualization model is inspired by this concept model named "Time Wheel" from timeViz.net. This is a 2d model. I transformed the time axis from left-to-right to back-to-front.


This is a breif skecth of the design of 3d version fo Time Wheel. The left one shows how it looks from one side; the other one presents how it looks from the top.


Process
Please put your work-in-progress images or screen shots here with some explanations.


It is natual to start with a heptagon. Each of its seven edges could represent a sin. The darker end represents the lowest checkout count value whereas the bright end represents the highest checkout count.
With many lines connected to the edge and time axis, and items published in chosen year painted red, the abstract form of the model appears.


Added the title of the items published in chosen year gives reader more details about those items.


Marked out the choosen year.


Constructed a interface to choose a year or a item listed in the listbox.


Utilized some color adjustment to enhance readability: tried white background and widen the color range of seven sins. Allocated stroke width of each item's line based on its checkout count.


Final result

Perspective 1


Perspective 2


Perspective 3


Perspective 4


Perspective 5


Perspective 6


Point out one specific sin.(Compared to perspective 6)


Point out one specific publish year.(Compared to perspective 6)


Perspective 8: choose a item from listbox.


Stand out the chosen item.


Could be either black background or white.


Interaction guidance


Code
All work is developed within Processing
Source Code + Data