Circular
I'm not sure that 3D is going to solve my problem. Let me explain how the data is collected and organized.
This is a phased array sonar on a radio controlled twin pontoon barge, about four feet long. A single TX module, 50W 40KHz ultrasonic cleaning tank transducer, sends a burst downward in a 60° cone. Four RX sensors arranged around the TX in a diamond shaped pattern about one foot square collect the echo data using four Arduino Nanos running PlainADC at 51.2KHz. They are each triggered by a common interrupt to all four Nanos. Each set of 512 uint16_t is accumulated in an Arduino Mega2560 via I2C running at 800Kbps. The Mega sends it to a shore station, another Mega, by NRF24. That Mega sends it to a laptop via UART at 1Mbps. In the laptop, it is stored in:
sonarArray :Array[1..NUM_SONAR, 0..TSAMPLES] of Word;
The 3D examples I saw are all textures painted on surfaces. I need to see a translucent volume simulated in 2D. At this point I envision analyzing the data by creating 512 horizontal slices. The i'th indexed data from each sonar will create a slice showing the presence or absence of an object. Signal strength will determine the rainbow color of a pixel in that plane from faint blue for weak to medium red for strong. The slices will be stacked in 2D, rotated and tilted, to simulate a 3D stack effect showing volume. The viewing position will be to the back-right of the barge and looking downward at 45°.
Does this sound do-able in 2D BGRA? One of the 2D examples shows a canvas that appears to be viewed from this position.