SOUNDS BEHIND PICTURES
MAT 259, 2018
Zhenyu Yang

Concept
Brian Tyler is an American musician, songwriter, and composer. He has composed scores for films, televisions and video games.

This assignment is a processing program that visualizes the numbers of cores written by Brian Tyler from 1997 to 2017. During this period, Brain wrote scores for 71 films, 8 TV films. 22 TV series, and 6 video games.


Query
SELECT 
    bibNumber,
    itemType,
    title,
    COUNT(bibNumber) AS Counts,
    SUM(CASE
        WHEN (YEAR(cout) = 2006) THEN 1
        ELSE 0
    END) AS '2006',
    SUM(CASE
        WHEN (YEAR(cout) = 2007) THEN 1
        ELSE 0
    END) AS '2007',
    SUM(CASE
        WHEN (YEAR(cout) = 2008) THEN 1
        ELSE 0
    END) AS '2008',
    SUM(CASE
        WHEN (YEAR(cout) = 2009) THEN 1
        ELSE 0
    END) AS '2009',
    SUM(CASE
        WHEN (YEAR(cout) = 2010) THEN 1
        ELSE 0
    END) AS '2010',
    SUM(CASE
        WHEN (YEAR(cout) = 2011) THEN 1
        ELSE 0
    END) AS '2011',
    SUM(CASE
        WHEN (YEAR(cout) = 2012) THEN 1
        ELSE 0
    END) AS '2012',
    SUM(CASE
        WHEN (YEAR(cout) = 2013) THEN 1
        ELSE 0
    END) AS '2013',
    SUM(CASE
        WHEN (YEAR(cout) = 2014) THEN 1
        ELSE 0
    END) AS '2014',
    SUM(CASE
        WHEN (YEAR(cout) = 2015) THEN 1
        ELSE 0
    END) AS '2015',
    SUM(CASE
        WHEN (YEAR(cout) = 2016) THEN 1
        ELSE 0
    END) AS '2016',
    SUM(CASE
        WHEN (YEAR(cout) = 2017) THEN 1
        ELSE 0
    END) AS '2017'
FROM
    spl_2016.outraw
WHERE
    title = 'Bartender'
    OR title = 'Six string samurai'
    OR title = 'Settlement'
    OR title LIKE '%4th Floor%'
    OR title = 'Simon Sez'
    OR title = 'Panic'
    OR title = 'Shadow Hours'
    OR title = 'Four Dogs Playing Poker'
    OR title = 'Terror Tract'
    OR title = 'Frailty'
    OR title = 'offsite'
    OR title = 'Bubba Ho tep'
    OR title LIKE '%Vampires%' and title like '%Los Muertos%'
    OR title = 'Darkness Falls'
    OR title = 'hunted'
    OR title = 'Last Stand'
    OR title = 'big empty'
    OR title = 'Timeline'
    OR title = 'Perfect Opposites'
    OR title = 'Final Cut'
    OR title = 'Godsend'
    OR title = 'Paparazzi'
    OR title = 'Clair obscur'
    OR title = 'Constantine'
    OR title = 'Panic'
    OR title = 'Annapolis'
    OR title = 'Bug'
    OR title LIKE '%fast and the furious Tokyo drift%'
    OR title = 'Partition'
    OR title LIKE '%Finishing%' and title like '%Game%'
    OR title = 'War'
    OR title LIKE '%Aliens vs Predator Requiem%'
    OR title = 'rambo'
    OR title = 'Bangkok Dangerous'
    OR title = 'Eagle Eye'
    OR title = 'Lazarus Project'
    OR title = 'Killing Room'
    OR title = 'Dragonball Evolution'
    OR title = 'fast and the furious'
    OR title LIKE '%Middle Men%'
    OR title = 'Final Destination'
    OR title = 'Law Abiding Citizen'
    OR title = 'Skyline'
    OR title = 'Battle Los Angeles'
    OR title = 'Tattoo'
    OR title = 'Fast Five'
    OR title = 'Final Destination 5'
    OR title = 'John Dies at the End'
    OR title LIKE '%Columbus%' and title like '%Circle%'
    OR title = 'Brake'
    OR title = 'Iron Man three'
    OR title = 'Standing Up'
    OR title = 'Thor The dark world'
    OR title = 'Teenage Mutant Ninja Turtles'
    OR title = 'Expendables'
    OR title = 'Into the Storm'
    OR title LIKE '%All Hail the King%'
    OR title LIKE '%Furious 7%' or title = 'furious seven'
    OR title LIKE '%Age of Ultron%'
    OR title = 'Truth'
    OR title LIKE '%Disappointments Room%'
    OR title LIKE '%Return of Xander Cage%'
    OR title = 'Criminal'
    OR title = 'Now you see me 2'
    OR title = 'Now you see me'
    OR title = 'Power Rangers'
    OR title LIKE '%Fate of the Furious%'
    OR title = 'mummy'
    
    OR title = 'Final Justice'
    OR title = 'Sirens'
    OR title = 'Jane Doe'
    OR title = 'Trapped in a Purple Haze'
    OR title = 'Last Call'
    OR title = 'Thoughtcrimes'
    OR title = 'Painkiller Jane'
    
    OR title = 'Living in Captivity'
    OR title = 'Jenny'
    OR title = 'Level 9'
    OR title = 'Fear Itself'
    OR title like '%Star Trek Enterprise%'
    OR title like '%hawaii five%'
    OR title = 'Terra nova The complete series'
    OR title like '%Sleepy Hollow%' and title like '%season%'
    OR title like '%Scorpion%' and title like '%season%'
GROUP BY bibNumber , itemtype, title
ORDER BY Counts DESC
				
My code only outputs the itemType, itemNumber, and the number of times that item has been checked out.

PROCESSING TIME

872.678 sec


Inspiration and Idea
I was trying to incorporate the shape of the solar system into this visualization project. In the beginning, I set each year as an individual sun, which is surrounded by planets. The number of planets is the number of scores that Brain Tyler wrote in the corresponding year.



Planets are in4 different colors, representing 4 different categories of scores: Films, TV Films, TV Series, and video games.



In addition to the color, each planet (represented as a point on the screen) has two more attributes: Normal velocity and tangential velocity. Both of them are bonded with a value that describes the degree of activity of Brain Tyler in each year.The degree of activity is calculated with the equation below:



*New idea: When the project was initially implemented, I noticed that the spinning planets were not suitable to reveal data because the periodic circular motions may cause dizziness, which will impose uncomfortableness on the audience(Shown as the following).



To reduce this effect, I changed the solar system layout so that each planet no longer going around the center, but is ejecting from the center, simulating the effect of electronic transition. The center is no longer static but blinking, and the frequency is inverse proportional to the degree of activity.






Final result
Based on the final version of this homework, we can clearly see that Brain Tyler mainly wrote scores for films and TV films in the early stage of his career. Brian was most active during the year of 2003 and year of 2009 to 2014. It also can be seen that Brain started writing scores for video games in 2010, and remain productive for 2 years. All these trends matched the trends I obtained in the HW1’s chart, which is shown again as the below:



Updates:
- Dynamic gray background. The background now is related to the distance between the camera and the object that camera is looking at. The further the camera is, the darker the background will be.
- Lato font. All fonts used in this project are now updated to Lato-Light. Multiple fonts choices are available in the data folder.
- Point shader. All points representing Brain Tyler's works are now rendered with a customized point shader. The new shader produces a halo effect on each visible point.
- Interaction. Users can switch viewing year forward/backward by pressing "A" / "D" key.
- Real-time performance improvement. Efficient data structures were used to speed up the program. Some redundant computation blocks were simplified to achieve less program latency.

INTERACTION
Key "A": View the previous cluster
Key "D": View the next cluster

Code
All work is developed within Processing

Compatibility:
The code now can run on Windows / Linux system. Compatibility issue was found on Mac system. A Mac-compatible version will be updated soon.

Source Code + Data

SCREEN RECORD
https://www.youtube.com/watch?v=HiGjqpSCYQw