Date: February 26, 2021 at 22:14:51 From: Skywise, [DNS_Address] Subject: 3D program update
Decided to do a video. Still pictures just don't do this program justice.
Database is Hauksson relocated quakes for Southern California 1981-2019. Beautiful how one can see the fault planes so nicely. Color is by depth, 20km per cycle. Depth is not exaggerated.
Date: February 28, 2021 at 20:04:12 From: Skywise, [DNS_Address] Subject: Re: 3D program update
Thank you, Mike.
It's something I've been wanting to do for a long time, but my programming skills just weren't good enough. And still much to learn yet.
Brian
Responses:
None
21839
Date: February 27, 2021 at 07:03:07 From: Roger, [DNS_Address] Subject: Re: 3D program update
Skywise;
That's beautiful!
Takes me back. I wrote something similar some 30 years ago, in DOS basic, but it didn't look anywhere near as good as yours.
I also wrote a program called IMP to plot quakes on a map. Believe it or not, the government sold a number of copies.
Fixed the file problem and my program now works perfectly.
The odd thing is that I had changed the format already because I knew the NEIC format was not suitable. I think the problem was that I failed to save the changed version.
Date: February 27, 2021 at 08:24:10 From: Skywise, [DNS_Address] Subject: Re: 3D program update
As you may recall I also made a simple version over 10 years ago. In fact, it's still available on my webpage. But that program didn't use the graphics card to do the rendering. All the graphics calculations and drawing were done by the CPU, and therefore were slow and simple. Loading more than a few tens of thousands of quakes really killed performance.
This program uses OpenGL graphics to do the rendering on the GPU. Much faster. Much prettier. I've already tested it with the entire catalog of USGS data with nearly 4 million records, and it still runs smooth.
Admittedly, it may not run as good on other's computers since I have a high performance laptop. But I can simulate that by running my laptop on battery which really throttles the CPU/GPU, and I still get acceptable performance.
Although I rendered the quake hypocenters as pinpoints, the program is capable of using other shapes. It's just that so many quakes rendered with anything other than points has everything blurring together. And points render a bit faster. Although not implemented yet, it will be able to display focal mechanism beachballs.
Just to give an idea of the performance I'm getting, with 3,975,308 quakes plotted, with or without antialiasing:
On wall power: No AA: 222 fps 8x AA: 93 fps
Battery only: No AA: 19 fps 8x AA: 8 fps
8 fps is horrible for a game, but for this application it's still usable. The user can interact with the program and see results 'instantly'.
And when I talk Frames Per Second, yes, that's in the animation mode the program already has. There's just nothing animating yet. With that in mind, those numbers will drop once animation calculations start happening. But it helps me get a feel for performance as I change the code.
Date: February 27, 2021 at 09:53:01 From: Skywise, [DNS_Address] Subject: Re: 3D program update
I'm sure some of them might find it useful. But it's purely visualization. Pretty pictures. It's not an analysis tool. Although I've tried to keep that possibility in mind.
There's just so much that needs to be done yet. For example, the color by depth thing is hard coded just to test the rendering engine. There are no user controls yet.
FYI, I've encountered a new data format. It's a fixed columnar text format so it's very easy to read. But the Hauksson data is in something called GrowClust. The name taken from the software used to do the relocations. But that brings up another aspect I need to implement. User editable import/export formats. Right now all the data formats are hard coded. And quake data comes in a variety of formats.
Actually, a LOT of things are hard coded right now that I eventually want the user to have access to. But the challenge is also to make the user interface easy for the casual quake aficionado like we have on these boards yet powerful for those like you and I who might want to do prediction analysis.