Skip to content

Instantly share code, notes, and snippets.

@theoutlander
Last active September 22, 2015 11:33
Show Gist options
  • Save theoutlander/8044c90b83139d703276 to your computer and use it in GitHub Desktop.
Save theoutlander/8044c90b83139d703276 to your computer and use it in GitHub Desktop.
Fluent Description
**Description**
High resolution spatial animations demand the use of efficient data structures for smooth visualizations. The recent Ebola outbreak was simulated via mathematical models by the Institute for Disease Modeling and compared to the 1918 Pandemic Flu using present day parameters to demonstrate the need for global epidemic preparedness. This presented an opportunity to visualize the generated spatial output representing the spread of disease along with its wake of destruction.
**Abstract**
High resolution spatial animations demand the use of efficient data structures for smooth visualizations. The recent Ebola outbreak was simulated via mathematical models by the Institute for Disease Modeling and compared to the 1918 Pandemic Flu using present day parameters to demonstrate the need for global epidemic preparedness. This presented an opportunity to visualize the generated spatial output representing the spread of disease along with its wake of destruction.
This may sound esoteric, but a linear quadtree is one such simple yet powerful data structure that enabled us to efficiently visualize the simulation's spatial output. This visualization was presented at a TED talk about how we're not ready for the next outbreak.
**Areas of focus**
- Intro to Spatiotemporal Visualizations
- Representing grid cells as squares, circles or heatmap along with associated challenges
- Brief intro and comparison of Quadtrees to Linear Quadtrees
- Z-Order curves
- Formatting output for streaming using Morton Encoding
- Mapping array indexes to coordinates using Morton Decoding
- Visualizing aggregated data at varying zoom levels
- Visualizing wake of destruction and associated challenges
- Overlaying additional temporal information without compromising frame rate
**Takeaway**
Visualizing scientific data can present unique challenges as the data can be very large and disorganized. High-resolution spatiotemporal visualizations can be slow. Using an efficient data structure like a Linear Quadtree can significantly improve performance. Quadtrees have several everyday applications such as geospatial indexing, collision detection, image processing, searching neighbors, etc.
**Prerequisites**
- Javascript
- Knowledge of basic data structures like binary search trees
- College algebra
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment