This display works by spinning a matrix display rapidly about a vertical axis, lighting up each LED as it passes through part of a 3D image. The way you update the displays has a big impact on the quality of the image. In this gif, each dot represents a column of LEDs - we're looking at the device from above. Here the panel is treated like a 2D display which just happens to be moving. Each scan line is repeatedly visited in turn, sweeping out a set of slices where the image can be displayed.
First test of the new design, and already I’m happy. Quiet, high refresh rate, and doesn’t feel like it’s seconds away from embedding itself in my face.
In practice it's complicated by the fact that these panels update two lines at once. Every time you update a column in the outer half, you're also updating one in the inner half. I couldn't find a simple procedural update strategy to spread these evenly, so I ended up generating a lookup table for it using simulated annealing.
The real improvement comes when you adjust the update rate for each column to match the length of the track they have to sweep out. Instead of wrapping around when you reach the last column, you wrap around when your counter reaches the square of the number of columns, and you update the column corresponding to the integer square root of the counter. This gets rid of the bright dense region in the middle, and adds more updates out at the edges making them less sparse.
If you turn the panels 90 degrees so their scan lines are now columns, you can do a bit better. The update doesn't have to be sequential - instead of stepping one column at a time, you can skip a few each time. As long as you pick a number which is coprime with the number of columns, and you wrap around once you go past the last one, you'll still visit each of them but spread out more evenly throughout the volume.
In the continuing quest for higher rpm, I've moved the controller down below the screen and across the axis of rotation. It's a lot harder to get at if I need to rewire anything, but it does improve the balance.