Navball oriented with total (global) gravity vector

This issue has been tracked since 2022-07-28.

Dear developers,

I have found Inertial reference frame navballs not very useful for blind navigation. I find the navball useful when it helps me to know if I'm fighting gravity (burning in the opposite direction of the gravity vector) and hence having gravity drag losses or if I'm burning orthogonal to it and adding speed to the vessel. I think this is the type of navigational aid that the navball is made for.

Given the reasons above, I would propose to add an option that allows to have only one navball that's always oriented with the global gravity force vector, with the blue hemisphere pointing to the opposite direction of this vector, and hence, the artificial horizon always orthogonal to it. This way, efficient and comfortable navigation could be applied. Additionally the universal navball would smoothly turn around, only having sharp turns in uninteresting points (where all the gravitational forces cancel out).

Hope to hear your opinion about this quality life enhancement soon,



eggrobin wrote this answer on 2022-08-17

I assume that by “blind navigation” you mean navigation without the use of map view and flight planning. This is neither something we are interested in nor something we really support.

Please note that the “global gravity vector” either depends on the frame you are in, or is a meaningless construct which nearly always points towards the sun.

Gravity loss is seldom a useful concept when away from the surface, since in general what you want is to set up a trajectory that makes it possible to reach some goal. For instance, gravity losses are minimized if you constantly burn down, but this is not often a productive activity.

The way that you optimize the use of your resources is to set up a flight plan that minimizes the ∆𝑣 expended to reach your goal.

Given that we have ample proof that the existing navballs and reference frames are useful to our users for complex navigation, I don’t see us changing them nor removing features.

dinlink wrote this answer on 2022-08-18

Dear developers (@eggrobin),

I never suggested to change or remove existing features. I suggested to add one, to add a new stock navball that could potentially stay active at all times (all reference frames).

This new navball would extend the concept on which the original one is based on, i.e. "It is similar to the artificial horizon used in real-world planes." [1].

The concept behind stock navball (artificial horizon) follows the "meaningless construct" of the global gravity vector: "Attitude indicators have mechanisms that keep the instrument level with respect to the direction of gravity" [2].

Thank you for sharing your opinion on the subject,



[1] KSP Wiki, Navball,
[2] Wikipedia, Artificial horizon,

eggrobin wrote this answer on 2022-08-18

Since you brought those up, it may be interesting to think about the way attitude indicators work on aircraft in order to understand the problems with the concept of “global gravity vector”.

The axis of the gyroscope is kept vertical by some erecting mechanism: pendulous vanes on a vacuum-driven attitude indicator (FAA AC65-15A, Figure 12–66), a weight magnetically righting the gyroscope on an electric attitude indicator (FAA AC65-15A, Figure 12–69). A modern solid-state IMU would use three accelerometers to obtain the same signal: the vertical is ultimately defined by the direction of the acceleration that would be experienced by an object in free fall, in the reference frame of the aircraft.

Crucially, this erecting mechanism causes the attitude indicator to point towards the ground only because the aircraft is roughly in uniform motion with respect to the Earth. In particular, if an aircraft were put into orbit (where it would be free-falling), this mechanism would cease to function: in the reference frame of the free-falling aircraft, objects in free fall do not move.

This does not mean that you can’t have a non-inertial navball when in orbit (after all, the surface navball is available in orbit in Principia, just like all the other navballs), but it means that the definition that works for aircraft is not going to work for us; it definitely isn’t some sort of “global gravity vector”.

You could, of course, consider the sum of all gravitational accelerations: −∑𝑖 𝐫̂𝑖 𝐺𝑚𝑖/𝑟𝑖2.

However, being able to write a formula does not mean it is meaningful. When orbiting the Earth at the same altitude as the Moon, this vector points towards the Sun, not the Earth (Figure 1), even though orbits at this altitude (such as the Moon’s orbit) are completely stable (the Moon isn’t going away anytime soon), and are best understood as slowly perturbed Keplerian orbits about the Earth, not about the Sun.

Figure 1. The Earth is in the centre, the Sun to the left. The arrows show the direction of the sum of the gravitational accelerations due to the Sun and to the Earth. The black circle is centred on the Earth, and has a radius of one lunar distance.

The key point here is that you must choose an appropriate reference frame in order to even meaningfully discuss the acceleration which affects a free-falling object (the geometric acceleration). In order to study the orbit of the Moon about the Earth, you need to be in the nonrotating reference frame centred on the Earth. That reference frame is accelerated (towards the Sun), so it has an apparent force which cancels out most of the Sun’s gravity in the vicinity of Earth; at the Moon’s altitude, the resulting geometric acceleration is oriented towards the Earth.

Of course, besides aircraft, there is another very famous attitude indicator: the Apollo FDAI. That one had an inertial mode (similar to Principia’s *CI navball), as well as the ORDEAL mode, designed to keep the ball aligned with the physical horizon, for rendez-vous manœuvres (NASA TN D-7919, p. 22). Both the surface navball (aligned with the horizon at the vessel) and the target navball (aligned with the horizon at the target) provide that in Principia.

[the stock navball] is similar to the artificial horizon used in real-world planes.

Aside: it is combined with a heading indicator; it resembles the ball found in a Mirage more than the typical attitude-only indicator found in most aircraft.

This is relevant to defining a ball: not only must a vertical be defined, but also a North.

More Details About Repo
Owner Name mockingbirdnest
Repo Name Principia
Full Name mockingbirdnest/Principia
Language C++
Created Date 2014-02-08
Updated Date 2023-03-29
Star Count 664
Watcher Count 29
Fork Count 62
Issue Count 109


Issue Title Created Date Updated Date