API for data analysis

Started by
0 comments, last by MatthewJackson 12 years, 11 months ago
Hey everyone,
I'm tasked with producing a tool that will assist our analysts in providing a more comprehensive set of data products for post flight data analysis in the field. I've seen some other tools, so to speak, from other members of the community and they're really just a plug 'n chug (Eulers and velocities) animation done in OpenGL. I don't want to stray too far from this concept, as that is really what I want to produce - a model, or mesh, of our asset performing exactly what the telemetry data we got back from it during flight says that it does.

However, I want the analyst to be able to pause, zoom, rotate view, then, based on the time of flight, be able to bring up other data (such as Mach, Euler angles, AOA, etc) and view that data on the same window for the rest of flight. I also want it to be really awesome looking so that it lives for a long time.

So where to begin? C#, from what I've reading in these forums, is the best for tools, GUIs and is possibly the best choice for data file reading/indexing. Do I use C# for the data and C++/DirectX 11 for the visualization? What would be the best method for a "multimedia application" (not a game)? ( I'm quoting the DirectX SDK Documentation-"DirectX is a set of low-level APIs for creating games and other high-performance multimedia applications.")
Advertisement
First off, C# can use DirectX as well as OpenGL, they are, after all, libraries like any other. So the answer to your question is really one of scope.

If it is the intention of the application to simply render the craft with associated alterations in orientation (Pitch, Yaw, and Roll) as well as animate associated mechanics (flaps, landing gear, etc.) while displaying telemetry data and possibly a visual representation of the avionics, then you are on the right track. C# could easily be made to read the structured data in from the recorder and parse it into a time indexed database that is then used as COLLADA (or similar format) animation data. From that point the application would then run similarly to a normal digital animation application and could be written entirely in C# without too much difficulty since you are, after all, only displaying a single mesh.

If, however, the application is intended to be more complex than that, the answer is really a matter of preference. If you are more familiar with C/C++ than with C#, then the application would likely benifit from being divided between these two languages as you specified. I would not, were I in you position, discount the idea of using an existing rendering environment: the majority of a game's mechanics are a simulation of physical systems, which is exactly what it sounds like you are doing.

This topic is closed to new replies.

Advertisement