Technically, the gyroscopes are not located inside the ball. They are separate equipment, and the ball is only used to indicate attitude. It indicates pitch and yaw by rotating so that the central point appears to track along the balls surface in the same direction as it does in space. If I pitch the nose up, I expect the numbers on the ball to move from top to bottom, showing more of the light side of the ball. By the time the ship is rotated to point straight up, the ball should be showing all the light colored side.
If the ball is made to be stationary in world space, the opposite happens. As you pitch up, you would see more of the ball from underneath, not above.
The ball should be interpreted as if the balls normals are all flipped, and you view the inside surface of the sphere as the fixed stationary skybox, but of course that isn’t possible in reality.
The ball appears stationary in world space on the roll axis only, since the equator of the ball works as an artificial horizon.
It may be hard to see in the image, but if the north (zero yaw) line is in the center of the display, 90 degrees (east) is to the right. If the ball is stationary and the ship rotates from north to east, using the current, correct texturing) the West 270 line would become visible, moving in from left to right… What really should happen is that the ship rotates around to 90, and the ball follows along since it’s a child of the ship, also rotating to world space 90. To display the angle, the ball is required to rotate a further 90, bringing the East line in from right to left (as everything outside is apparently moving right-to-left, too.
Hope that explains the problem better. I am 100% certain that the direction of rotation for pitch and yaw are backwards if the ball is stationary, but I’m running into problem determining pitch from yaw once i have rotation on more than one axis.
Put another way, if the ship pitches up, the ball should apparently rotate its texturing from top to bottom, showing more of the light side. If the ship yaws right, the texture should rotate right to left, showing 3, then 6, then 9, then 12… If the ship rolls clockwise, the texture rotates anti-clockwise. All these ship rotations are relative to its current attitude… i think some of my problem is that the axes the ball rotates around are actually rotating. Pulling the joystick back, ie pitching the ships nose up, is always indicated by a rotation so the texture moves from the top of the control panel to the bottom, which is a rotation around an axis parallel with the face of the control panel, but as soon as i yaw the ball, that axis is moving. I am unable to rotate the ball as if it is driven by little wheels in the top and side of the control panel, ie, the axis to rotate around is always fixed in the ships coordinate space, and if I could do that, how would the ships world orientation correspond to the required ball input angles?