|
Vulcan
Aerospace Engineering Utilities Built on Janus
|
Functions | |
| template<typename Scalar> | |
| Scalar | slant_range (const Vec3< Scalar > &r_observer, const Vec3< Scalar > &r_target) |
| Compute slant range (distance) between two points. | |
| template<typename Scalar> | |
| Vec2< Scalar > | los_angles (const Vec3< Scalar > &r_observer, const Vec3< Scalar > &r_target) |
| Compute line-of-sight azimuth and elevation angles. | |
| template<typename Scalar> | |
| Vec2< Scalar > | los_rate (const Vec3< Scalar > &r_obs, const Vec3< Scalar > &v_obs, const Vec3< Scalar > &r_tgt, const Vec3< Scalar > &v_tgt) |
| Compute line-of-sight angular rates. | |
| template<typename Scalar> | |
| Scalar | ray_sphere_intersection (const Vec3< Scalar > &origin, const Vec3< Scalar > &direction, const Vec3< Scalar > ¢er, const Scalar &radius) |
| Ray-sphere intersection. | |
| template<typename Scalar> | |
| Scalar | ray_plane_intersection (const Vec3< Scalar > &origin, const Vec3< Scalar > &direction, const Vec3< Scalar > &plane_normal, const Vec3< Scalar > &plane_point) |
| Ray-plane intersection. | |
| template<typename Scalar> | |
| Scalar | point_in_cone (const Vec3< Scalar > &point, const Vec3< Scalar > &apex, const Vec3< Scalar > &axis, const Scalar &half_angle) |
| Check if a point lies within a cone (e.g., sensor FOV). | |
| template<typename Scalar> | |
| Vec3< Scalar > | project_to_plane (const Vec3< Scalar > &point, const Vec3< Scalar > &plane_normal, const Vec3< Scalar > &plane_point) |
| Project a point onto a plane. | |
| template<typename Scalar> | |
| LLA< Scalar > | ground_track_point (const Vec3< Scalar > &r_ecef, const EarthModel &model=EarthModel::WGS84()) |
| Project ECEF position to ellipsoid surface (ground track point). | |
| template<typename Scalar> | |
| Vec3< Scalar > | ground_track_ecef (const Vec3< Scalar > &r_ecef, const EarthModel &model=EarthModel::WGS84()) |
| Compute ground track point and return as ECEF. | |
| Vec3< Scalar > vulcan::geometry::ground_track_ecef | ( | const Vec3< Scalar > & | r_ecef, |
| const EarthModel & | model = EarthModel::WGS84() ) |
Compute ground track point and return as ECEF.
Projects the position to the ellipsoid surface and returns the ECEF coordinates of that point.
| Scalar | Scalar type (double or casadi::MX) |
| r_ecef | Position in ECEF [m] |
| model | Earth model (default: WGS84) |
| LLA< Scalar > vulcan::geometry::ground_track_point | ( | const Vec3< Scalar > & | r_ecef, |
| const EarthModel & | model = EarthModel::WGS84() ) |
Project ECEF position to ellipsoid surface (ground track point).
Computes the point on the Earth's surface directly below (or above) the given ECEF position. Returns LLA with altitude set to zero.
| Scalar | Scalar type (double or casadi::MX) |
| r_ecef | Position in ECEF [m] |
| model | Earth model (default: WGS84) |
| Vec2< Scalar > vulcan::geometry::los_angles | ( | const Vec3< Scalar > & | r_observer, |
| const Vec3< Scalar > & | r_target ) |
Compute line-of-sight azimuth and elevation angles.
Computes the look angles from observer to target in the observer's local coordinate frame (typically NED or ENU).
Convention:
| Scalar | Scalar type (double or casadi::MX) |
| r_observer | Observer position [m] |
| r_target | Target position [m] |
| Vec2< Scalar > vulcan::geometry::los_rate | ( | const Vec3< Scalar > & | r_obs, |
| const Vec3< Scalar > & | v_obs, | ||
| const Vec3< Scalar > & | r_tgt, | ||
| const Vec3< Scalar > & | v_tgt ) |
Compute line-of-sight angular rates.
Computes the time derivative of LOS angles given relative positions and velocities of observer and target.
| Scalar | Scalar type (double or casadi::MX) |
| r_obs | Observer position [m] |
| v_obs | Observer velocity [m/s] |
| r_tgt | Target position [m] |
| v_tgt | Target velocity [m/s] |
| Scalar vulcan::geometry::point_in_cone | ( | const Vec3< Scalar > & | point, |
| const Vec3< Scalar > & | apex, | ||
| const Vec3< Scalar > & | axis, | ||
| const Scalar & | half_angle ) |
Check if a point lies within a cone (e.g., sensor FOV).
Determines if a point is inside a cone defined by its apex, axis direction, and half-angle. Useful for sensor field-of-view checks.
| Scalar | Scalar type (double or casadi::MX) |
| point | Point to test |
| apex | Cone apex (e.g., sensor location) |
| axis | Cone axis direction (should be normalized) |
| half_angle | Cone half-angle in radians |
| Vec3< Scalar > vulcan::geometry::project_to_plane | ( | const Vec3< Scalar > & | point, |
| const Vec3< Scalar > & | plane_normal, | ||
| const Vec3< Scalar > & | plane_point ) |
Project a point onto a plane.
| Scalar | Scalar type (double or casadi::MX) |
| point | Point to project |
| plane_normal | Plane normal (should be normalized) |
| plane_point | A point on the plane |
| Scalar vulcan::geometry::ray_plane_intersection | ( | const Vec3< Scalar > & | origin, |
| const Vec3< Scalar > & | direction, | ||
| const Vec3< Scalar > & | plane_normal, | ||
| const Vec3< Scalar > & | plane_point ) |
Ray-plane intersection.
Computes the distance along a ray to intersection with an infinite plane.
| Scalar | Scalar type (double or casadi::MX) |
| origin | Ray origin point |
| direction | Ray direction (should be normalized) |
| plane_normal | Plane normal vector (should be normalized) |
| plane_point | A point on the plane |
| Scalar vulcan::geometry::ray_sphere_intersection | ( | const Vec3< Scalar > & | origin, |
| const Vec3< Scalar > & | direction, | ||
| const Vec3< Scalar > & | center, | ||
| const Scalar & | radius ) |
Ray-sphere intersection.
Computes the distance along a ray to the nearest intersection with a sphere. Uses the geometric solution for numerical stability.
| Scalar | Scalar type (double or casadi::MX) |
| origin | Ray origin point |
| direction | Ray direction (should be normalized) |
| center | Sphere center |
| radius | Sphere radius |
| Scalar vulcan::geometry::slant_range | ( | const Vec3< Scalar > & | r_observer, |
| const Vec3< Scalar > & | r_target ) |
Compute slant range (distance) between two points.
| Scalar | Scalar type (double or casadi::MX) |
| r_observer | Observer position [m] |
| r_target | Target position [m] |