Data Visualization of Movie
The movie Inception is famous for its intricate plot that teases the thin lines between reality, dreams, and the subconscious. However, these intricacies make the plot difficult to understand, as audiences often need to re-watch the movie to truly understand what is occurring. I created an interactive data visualization of the film to make it more accessible to the audience.
Tool
Processing (JavaScript)
Timeline
May 2019 - Jun 2019
Team
Self-initiated
Type of Work
Coursework
When I started this data visualization project, my goal was to visually organize complex and scattered information in a clear, understandable way. Christopher Nolan's Inception came to mind, with its intricate dream layers, shifting timelines, and complex storyline, which I found challenging to follow on my first viewing.
Interestingly, Christopher Nolan himself reportedly visualized the timeline by hand to clarify the movie’s intricate structure.
Nolan’s graph detailing the characters’ path through the various layers
Inspired by this, I decided to analyze the film to map out how the characters move between dreams and the subconscious, identify the main character of each dream layer, and pinpoint when the "kicks" (wake-up triggers) occur. My goal was to visualize these elements in a clear and structured way.
Project goal
Develop an interactive data visualization for Inception that clearly illustrates each character's journey and the subject of their dreams.
1. Simplify time data in the movie
For the purpose of the visualization, I reinterpreted the concept of time in the movie to make it more understandable.
2. Provide movement paths for each character
I used Processing, the most effective tool for interactive visualization, and added mouse interaction to explore and track each character’s movement from reality to subconscious.
3. Arrange images that visually represent the story
I included images of the stories of each dream to give users a glance of the entire film.
Lack of official timeline data
The film itself leaves many details open to interpretation, making it difficult to determine exactly when each character transitions between dreams or exits them.
To overcome this, I rewatched the movie several times, collecting and organizing data based on scenes and dialogues.
I referenced the movie's concept that the kick has to happen simultaneously in each level in order for a chain reaction to return to reality all at once.
I collected data using dialogues like “We have 20 minutes until the next kick!” from Dream3 (Snowy Forest).
The image below is part of this process.
1. Time Dilation
In the movie, when characters go into the inner levels of the dream, time will increase by a factor of 20.
However, using the concept of time dilation from the movie was not suitable for the purpose of visualization. Therefore, I simplified the data with two conditions:
Adjust the time dilation factor to 2 instead of 20 when transitioning to the inner level of the dream.
Set the total time spent in reality to one hour. For every ten minutes that passes in reality, transition to the next dream.
2. Kick
In the movie, the term “Kick” is a sudden jolt that can wake the Dreamer up by one level. Usually, kick is a fall.
I referenced the movie's concept that the kick has to happen simultaneously in each level in order for a chain reaction to return to reality all at once.
I collected data using dialogues like “We have 20 minutes until the next kick!” from Dream3 (Snowy Forest).
After organizing the concept of time in a simplified manner, I began to consider how to structure the data for easier visualization. I realized that documenting when each protagonist enters a dream, transitions to the next dream, and wakes up from the dream via a "kick" would streamline the coding process later. Based on this idea, I organized the data into a table.
Before programming, I sketched the general direction of the visualization, emphasizing the process of the characters descending from reality into a lower-level dream and returning through kicks.
I developed this visualization using JavaScript, Processing, incorporating seamless mouse interactions and an intuitive interface to guide users through the film's dream layers and timelines.
1. Import the Excel file and analyze the data using TableCode
2. Create mouse interactions for each character.
I used different colors for each of the main characters to illustrate their movement; the colors of the dream also correspond with the characters, indicating that the character of that color is dreaming it. I also incorporated images that effectively represent each dream. To symbolize the moment of awakening from dreams, indicated by a kick, I used a red lightning shape.
By clicking on a character's image located on the right, users can view each character's movement path.