mockingbirdnest / Principia

𝑛-Body and Extended Body Gravitation for Kerbal Space Program
MIT License
774 stars 70 forks source link

Suggestions for rotating-pulsating reference frame #3915

Open KSPSTAR opened 8 months ago

KSPSTAR commented 8 months ago

Taking the saturn system as an example, can the current "pulsation" be replaced by a fixed line connecting the "average mass centers" of the two? Just like in the attached gif

Perhaps the "average center of mass" of the two celestial bodies can be determined through the relative displacement of the two celestial bodies with the "overall average center of mass" of the binary star within the predicted time period. As the forecast period increases, the average centroid becomes more accurate. By connecting the two "mean centers of mass", I think it will be more intuitive and stable than the existing "rotating pulsating reference frame".

Under this new "mean center of mass" reference system, the Lagrange points will no longer be fixed, but the equipotential lines are equipotential and continuous in the time dimension, not just in the space dimension.As for the "average angular velocity" of this reference system, it can also be solved using a similar method.

The following is the source of the picture:

https://commons.wikimedia.org/wiki/File:Animation_of_Polydeuces%27s_orbit_relative_to_Saturn_and_Dione.gif

Animation_of_Polydeuces's_orbit_relative_to_Saturn_and_Dione

eggrobin commented 8 months ago

can the current "pulsation" be replaced by a fixed line connecting the "average mass centers" of the two?

No. Before putting months of work into the more complicated approach, we tried the simple things; it doesn’t work.

By connecting the two "mean centers of mass", I think it will be more intuitive and stable than the existing "rotating pulsating reference frame". […] the Lagrange points will no longer be fixed, but the equipotential lines are equipotential and continuous in the time dimension, not just in the space dimension.

In a non-pulsating frame, the equipotentials become a useless mess that massively varies with time even in the absence of third body effects, making them utterly misleading when overlaid with trajectory display; whereas in the rotating-pulsating frame, they are constant in the absence of third-body effects, and are in practice useful to understand the behaviour of trajectories.

See https://github.com/mockingbirdnest/Principia/issues/3358#issuecomment-1367298960, and see https://github.com/mockingbirdnest/Principia/blob/master/documentation/Rotating%20Pulsating.pdf, in particular Section 5.

As for intuition, a pulsating frame is a slightly unusual thing on paper, but in my experience the dynamics in that frame do not behave all that weirdly—if anything it should behave less weirdly than the corresponding rotating frames, MEO etc., as the Euler force is effectively gone—; is there anything that you find specifically confusing about the behaviour of that frame in-game?

KSPSTAR commented 8 months ago

{In a non-pulsating frame, the equipotentials become a useless mess that massively varies with time even in the absence of third body effects, making them utterly misleading when overlaid with trajectory display; whereas in the rotating-pulsating frame, they are constant in the absence of third-body effects, and are in practice useful to understand the behaviour of trajectories.}

I can understand what you mean, but is it possible to add a "time section slider" that when dragged, can display the position of the spacecraft on the trajectory line and display the corresponding equipotential lines? After all, the current version can only see the current equipotential lines and cannot see the future (because the equipotential lines caused by "pulsation" are constantly changing, unless time acceleration is used)

pleroy commented 8 months ago

is it possible to add a "time section slider" that when dragged, can display the position of the spacecraft on the trajectory line and display the corresponding equipotential lines?

Something like that may make sense, although the specifics of UI would need further thought. As usual, no guarantee that we will ever be interested in doing it, but reopening to keep track of the suggestion.

eggrobin commented 8 months ago

the equipotential lines caused by "pulsation" are constantly changing

To be clear here, the changes that you are seeing are not caused by the pulsation of the reference frame; to the contrary, the pulsation removes most of the variability of the equipotentials. The remaining changes over time are instead caused by the influence of other bodies, such as the Sun in the EML frame.

Again, please see Section 5 of https://github.com/mockingbirdnest/Principia/blob/master/documentation/Rotating%20Pulsating.pdf, and compare the animations in https://github.com/mockingbirdnest/Principia/issues/3358#issuecomment-1127054011 (where the reference frame does not pulsate, and therefore the equipotentials vary wildly because of the eccentricity of the Moon’s orbit), and https://github.com/mockingbirdnest/Principia/issues/3358#issuecomment-1399717499, in a pulsating reference frame, where the equipotentials vary comparatively little, and only because of the influence of the Sun.

KSPSTAR commented 8 months ago

Yes, I can understand what you mean, it may be a misunderstanding caused by the translation software. The reference frame itself does not move, mainly because of the "pulsation" caused by the eccentricity of the moon.