pub struct LunarOrbit {
pub semi_major_axis_m: f64,
pub eccentricity: f64,
pub inclination_deg: f64,
pub true_anomaly_rad: f64,
}Fields§
§semi_major_axis_m: f64§eccentricity: f64§inclination_deg: f64§true_anomaly_rad: f64Implementations§
Source§impl LunarOrbit
impl LunarOrbit
Sourcepub fn new() -> Self
pub fn new() -> Self
Examples found in repository?
examples/orbital_sim.rs (line 4)
1fn main() {
2 let earth_context = moons::interactions::earths::ensure_earths_binary_or_simulate();
3
4 let orbit = moons::physics::orbit::LunarOrbit::new();
5 let rotation = moons::physics::rotation::MoonRotation::new();
6
7 println!(
8 "mode={:?} earth_r_km={:.1} earth_theta_deg={:.2} earth_spin_deg={:.2} mean_motion={:.8} periapsis_m={:.0} eq_speed_m_s={:.4}",
9 earth_context.mode,
10 earth_context.orbital_radius_km,
11 earth_context.orbital_angle_deg,
12 earth_context.rotation_angle_deg,
13 orbit.mean_motion_rad_s(),
14 orbit.periapsis_m(),
15 rotation.equatorial_speed_m_s(),
16 );
17}pub fn orbital_period_s(&self) -> f64
Sourcepub fn mean_motion_rad_s(&self) -> f64
pub fn mean_motion_rad_s(&self) -> f64
Examples found in repository?
examples/orbital_sim.rs (line 13)
1fn main() {
2 let earth_context = moons::interactions::earths::ensure_earths_binary_or_simulate();
3
4 let orbit = moons::physics::orbit::LunarOrbit::new();
5 let rotation = moons::physics::rotation::MoonRotation::new();
6
7 println!(
8 "mode={:?} earth_r_km={:.1} earth_theta_deg={:.2} earth_spin_deg={:.2} mean_motion={:.8} periapsis_m={:.0} eq_speed_m_s={:.4}",
9 earth_context.mode,
10 earth_context.orbital_radius_km,
11 earth_context.orbital_angle_deg,
12 earth_context.rotation_angle_deg,
13 orbit.mean_motion_rad_s(),
14 orbit.periapsis_m(),
15 rotation.equatorial_speed_m_s(),
16 );
17}Sourcepub fn periapsis_m(&self) -> f64
pub fn periapsis_m(&self) -> f64
Examples found in repository?
examples/orbital_sim.rs (line 14)
1fn main() {
2 let earth_context = moons::interactions::earths::ensure_earths_binary_or_simulate();
3
4 let orbit = moons::physics::orbit::LunarOrbit::new();
5 let rotation = moons::physics::rotation::MoonRotation::new();
6
7 println!(
8 "mode={:?} earth_r_km={:.1} earth_theta_deg={:.2} earth_spin_deg={:.2} mean_motion={:.8} periapsis_m={:.0} eq_speed_m_s={:.4}",
9 earth_context.mode,
10 earth_context.orbital_radius_km,
11 earth_context.orbital_angle_deg,
12 earth_context.rotation_angle_deg,
13 orbit.mean_motion_rad_s(),
14 orbit.periapsis_m(),
15 rotation.equatorial_speed_m_s(),
16 );
17}pub fn apoapsis_m(&self) -> f64
pub fn current_distance_m(&self) -> f64
pub fn orbital_speed_m_s(&self, distance_m: f64) -> f64
Trait Implementations§
Source§impl Clone for LunarOrbit
impl Clone for LunarOrbit
Source§fn clone(&self) -> LunarOrbit
fn clone(&self) -> LunarOrbit
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LunarOrbit
impl Debug for LunarOrbit
Source§impl Default for LunarOrbit
impl Default for LunarOrbit
Source§impl PartialEq for LunarOrbit
impl PartialEq for LunarOrbit
impl Copy for LunarOrbit
impl StructuralPartialEq for LunarOrbit
Auto Trait Implementations§
impl Freeze for LunarOrbit
impl RefUnwindSafe for LunarOrbit
impl Send for LunarOrbit
impl Sync for LunarOrbit
impl Unpin for LunarOrbit
impl UnsafeUnpin for LunarOrbit
impl UnwindSafe for LunarOrbit
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more