use crate::coordinate_systems::{Polar, Radians, Spherical};
pub struct GnomonicProjection;
impl GnomonicProjection {
pub fn forward(&self, spherical: Spherical) -> Polar {
let theta = spherical.theta();
let phi = spherical.phi();
Polar::new(phi.get().tan(), theta)
}
pub fn inverse(&self, polar: Polar) -> Spherical {
let rho = polar.rho();
let gamma = polar.gamma();
Spherical::new(gamma, Radians::new_unchecked(rho.atan()))
}
}