First of all, I like to use Python, because it is easy to work with. I am not a programmer, so I prefer anything that is easy to use and understand. I understand that it might be faster to program 3D in C/C++ or whatever, but that is beyond my scope.
Now, I wish to create a 3D plot of lots of data points (from a scientific sonar). I get roughly 5-10 updates per second and each update contains thousands of points. So the drawing of the 3D plot needs to be fast. Below the 3D plot I want to have a 2D plot "seen from above", and to the right another 2D plot "seen from the side". Both of these 2D plots will be updated at the same time as the 3D plot, with the same number of points. At any time I will want to pause the real time playback of data and select points from the 2D plots and extract data from those points.
I also wish to represent the points with different size and color depending on target strength. And in the paused selection-mode, show the selection by changing color of selected points and/or make individual points blinking or similar (apply two different selections at once).
I've done a bit of research, and it seems like Enthought has some nice tools. First of all Mayavi for the 3D plot, and then Chaco for the 2D plots. These seem to have nice built-in functionality of selecting points etc. But I am a bit concerned about the plotting speed. Are they able to plot thousands of points 5-10 times per second in real time? Also, maybe I missed something during my research and there are better alternatives out there? E.g. how much work is it to code directly for OpenGL and is it worth the extra hassle in this case? Or some gaming engine? Or matplotlib?
I would appreciate any advice I can get on this. And if it is platform independent, all the better. I am using both Ubuntu and Windows7.