GUI for Real-time Spatiotemporal Databases
Researcher: Melroy Saldanha
Professor: Walid Aref
Overview
The aim of the project is to be able to load a 3d Environment with multiple characters that are moving based on actual real-time data (Example - GPS) and give a precise representation of their movements. For the project, we have a 3D Purdue Campus Map in which we load multiple characters whose movements are given by a database. This is a very interactive 3d Environment in which you can zoom in, rotate the camera and other features. However, the current implementation of the project is very rigid as it involves loading everything into the environment even if you may not need to because of the camera being zoomed in on a location. My part in the project is to optimize the code by generating an efficient windowing technique that takes care of removing objects in the environment that are outside the camera view, thus increasing the efficiency of the code and the ability to load multiple characters.
Problem Statement
Does implementing a windowing technique increase the efficiency of the code by increasing the amount of multiple characters that can be loaded in the Environment?
Hypothesis
Implementing an efficient windowing technique allows and increases the number of multiple characters that can be loaded into the GUI Environment.
Null Hypothesis
A Windowing Technique has no effect on the amount of multiple characters that the Environment can load.
Experiment
The first thing that I worked on was modifying and updating the graphics Level of Details (LOD), a feature in the Environment, when the camera was zoomed out (Low LOD) and when zoomed in (High LOD). This was just a starting step to get used to the project. To implement the actual windowing technique, I worked on loading the characters that moved out of scope of the camera into a separate database and removing them from the Environment. To do this, I needed to find a way of accessing the camera location directly and creating an algorithm to figure out the locations of the characters.
Analysis
In order to test the algorithm, I decided to zoom in to a location and let characters load in front of me and move out of scope and thus see how many characters I could load.
Results
The windowing technique allows the same amount of people as before it was implemented. There is still a bug in my code which does not allow me to disprove the null hypothesis yet. And so I have come to no conclusion yet.
Project Continuation
The windowing technique was just the first point that needed to be addressed in this project. We also need to manipulate various aspects of the Environment to make it more efficient. For example, people behind buildings should not be loaded at all. The ideal goal of the project as a whole is to load 1000 people on to the Environment. If that’s possible we can then propose to load up real-time GPS data and thus give an accurate representation of people’s movements in the environment.