|Top Previous Next|
The RotatingPulsatingSystem object supports mathematical calculations and coordinate system transformations to and from the rotating-pulsating frame. The rotating-pulsating frame can be visualized in FreeFlyer using the rotating-pulsating Viewpoint of the ViewWindow. The rotating-pulsating system is a reference frame that takes two bodies as the primary and secondary bodies for the system, around which the frame is built. In addition to the primary and secondary bodies, the frame requires the input of a reference vector and a reference distance so that it can scale the positions of all other bodies appropriately.
A key element of the rotating-pulsating system is the pulsating behavior itself. A pulsating frame is one where the distance between all objects and the size of all objects are both modified based on a scale factor. This scale factor is obtained such that the secondary object is at the same position at all times, and is determined by the distance between the primary and secondary objects.
Using a RotatingPulsatingSystem
There are a number of properties that must be set for a RotatingPulsatingSystem object to configure it for use. Chiefly among these are the primary and secondary objects, which can be either CelestialObject or Spacecraft objects and must be set through appropriate methods. As part of this configuration, the RotatingPulsatingSystem object supports three types of calculations based on the second vector used in defining the frame as follows.
Several different types of calculations can be performed using the RotatingPulsatingSystem as well, and you can also assign a Spacecraft object's state in this reference frame. See below for script examples of how to perform these operations.
Interaction with the Rotating-Pulsating View
Due to the want to both perform calculations with the rotating-pulsating frame and to visualize it, there are a number of direct interactions with the rotating-pulsating Viewpoint type in FreeFlyer that make working with both it and the RotatingPulsatingSystem much easier. In many cases you'll either configure a RotatingPulsatingSystem object and then want to mirror its setup to the Viewpoint, or vice versa, and both directions are fully supported natively in FreeFlyer. An example script demonstrating both directions of interaction follows.
Note: When basing the second vector of the frame on the relative velocity between the primary and secondary objects and visualizing it in a rotating-pulsating Viewpoint, you must configure the primary and secondary objects a specific way. These objects must have their velocity stored to the ViewWindow for the view to draw their history. This can be enabled for an object associated with a ViewWindow at any point in the Mission Plan's execution by calling the ViewWindow.SetObjectStoreVelocity() method.
•RotatingPulsatingSystem Properties and Methods