#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Mountain {
pub name: &'static str,
pub elevation_m: f64,
pub slope_deg: f64,
}
impl Mountain {
pub fn relief_energy(&self) -> f64 {
self.elevation_m * self.slope_deg.to_radians().tan()
}
}
pub fn mons_huygens() -> Mountain {
Mountain {
name: "Mons Huygens",
elevation_m: 5_500.0,
slope_deg: 27.0,
}
}
pub fn leibnitz_beta() -> Mountain {
Mountain {
name: "Leibnitz Beta",
elevation_m: 6_500.0,
slope_deg: 32.0,
}
}