コード例 #1
0
    def apply(self, satellite: Satellite) -> ManeuverCost:
        orbit = satellite.orbit
        cur_theta = satellite.true_anomaly()
        new_theta = cur_theta + self.delta_theta

        # Find the difference in s and wait by that much
        cur_s = satellite.true_to_universal_anomaly(cur_theta)
        new_s = satellite.true_to_universal_anomaly(new_theta)

        delta_s = new_s - cur_s
        satellite.wait_s(delta_s)
        return ManeuverCost(delta_t=satellite.delta_s_to_t(delta_s))