Visualizing Data using 3D Technologies

You can’t browse the web these days without reading about Big Data, the Internet of Things  and how they are going to transform the world.  One of the problems with big data, or any type of information, is turning it into something people can use and understand.  That is where visualization of  into play.

Traditionally people have used charts, graphs and other ways of visualizing information. Many of these visualization mechanisms work fantastically well – for their given purpose.  For instance if you want to visualize a data series then a bar chart is great.  To see the relative sizes between different data sets a pie-chart works well.  However what happens when you want to visualize very different types or large amounts of information?

As people start to integrate more and more devices and data points into their lives it will become harder and harder to review and understand all that information.  People can only absorb so many graphs and charts at a time.  With data coming from personal monitors and devices linked into the environment (the Internet of Things)  people will become flooded with data.  It will become critical for companies to find new ways of displaying that information in ways that humans can understand and absorb quickly.

I believe that we will see the use of 3D technologies leveraged more and more to create simpler methods of visualizing information in ways that map to our own native understanding of the world. There is a convergence coming between the technologies used in gaming environments – 3D Models, real world physics engines, dynamic data integration – and the data streams coming from all the different devices being integrated into our environment.

As an example of how easy it is to start to integrate this information I developed a simple example here.  In this example I took a simple real-time data source and integrated it into a 3D image that would instantly represent to the viewer what is going on with the data – without the need to display the data itself.

For the example I decided to take a weather data feed from the site wunderground.com and display the resulting information in a 3D model of a tree on a hill.  The data from the weather feed causes the model to dynamically change depending on all the data points.  The goal is to instantly relay to the viewer the weather conditions at the specified place – without them having to read or see the data itself.

Try the visualization below by selecting play.  It requires that you have the Unity Plug-in.  For best effect click the small icon on the lower right to maximize the screen.  You can close by selecting the set of four arrows pointing toward the center right underneath the main screen.

There are five primary visualization themes integrated into this model.

  • Tree – The Tree changes based upon the time of year.  During the spring and summer it shows green foliage.  During fall the leaves turn brown and during winter the tree is bare.
  • Cloud – The cloud cover will change depending on the weather conditions.  If it is sunny just light clouds are shown.  As the weather worsens the clouds will move through partly cloudy, cloudy to stormy.
  • Precipitation – The precipitation changes depending on the weather conditions.  Precipitation can come as rain or snow.  Within each there are three levels – light, medium and stormy.  As the weather get’s worse the precipitation will show how bad the conditions are.
  •  Lighting – Lighting may be one of the most subtle, but powerful, effects in the model.  The lighting changes based on two factors.  Time of day and weather conditions.  The intensity of the lighting will increase/decrease through the day with high noon being the most intense.  In addition to the lighting intensity the color of the light will move from a yellow/orange to a grey light depending on the weather conditions.  That way we have a nice warm light on a clear sunny day at noon.  However in the late afternoon on a stormy day the light moves to a less intense grey.
  • Wind – Wind is also modeled into the image.  Depending on the intensity and gusts of wind the tree and leaves will sway more or less vigorously.

As a comparison to the image above you can see the model on a very snowy, stormy and windy day in the late afternoon.

Another example of the same model showing a rainy day in the fall.

What this shows us is how easy it is to visualize live data using 3D Modeling and gaming tools combined with web-based API’s.  There are many benefits to using these types of tools for visualization.  For instance these tools enable the direct integration of 3D models from tools like Blender and Maya.  They have a built-in physics engine.  This in and of itself means that real-world physics (gravity, mass, vectors and force) can easily be leveraged within the visualization.  It’s also very easy to integrate in real world data through XML files, spreadsheets or real-time through the use of Web-Service calls.

My assumption is that we are going to see more and more instances of the technologies built for 3D gaming being used in real-world visualization for business and consumers.   As an example you could imagine a 3D model of your house, shown in real-time that indicates to you the status of everything in your house.  Lighting reflects lights that are actually on, indicators show the status of key devices like the stove, water heater, etc…  Through the model you can easily turn on/off the devices.  It could also show you, in real-time, where any members of the family or pets are located.

With the right inputs, coming from devices linked to the Internet of Things, the creation of this type of 3D model would be trivial.

In my next post I will take you through at more depth how this visualization was created.  I will cover the tools and assets that were leveraged and share more about the underlying design.

Eric Westerkamp

Leave a Reply