UNPKG

ootk

Version:

Orbital Object Toolkit including Multiple Propagators, Initial Orbit Determination, and Maneuver Calculations.

106 lines (105 loc) 3.68 kB
/** * @author @thkruz Theodore Kruczek * @license AGPL-3.0-or-later * @copyright (c) 2025 Kruczek Labs LLC * * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the * terms of the GNU Affero General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later version. * * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License along with * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>. */ import { Degrees, Matrix, Radians, Vector3D } from '../main.js'; export declare class EulerAngles { roll: number; pitch: number; yaw: number; /** * Create a new EulerAngles object from roll, pitch, and yaw angles in radians. * @param roll Roll angle in radians. * @param pitch Pitch angle in radians. * @param yaw Yaw angle in radians. */ constructor(roll: Radians, pitch: Radians, yaw: Radians); /** * Create a new EulerAngles object from roll, pitch, and yaw angles. * @param rollDeg Roll angle in degrees. * @param pitchDeg Pitch angle in degrees. * @param yawDeg Yaw angle in degrees. * @returns EulerAngles object. */ static fromDegrees(rollDeg: Degrees, pitchDeg: Degrees, yawDeg: Degrees): EulerAngles; /** * Create a new EulerAngles object from 3-2-1 ordered direction cosine matrix c. * @param c 3-2-1 ordered direction cosine matrix. * @returns EulerAngles object. */ static fromDcm321(c: Matrix): EulerAngles; /** * Gets the roll angle in degrees. * @returns The roll angle in degrees. */ get rollDegrees(): Degrees; /** * Gets the pitch angle in degrees. * @returns The pitch angle in degrees. */ get pitchDegrees(): Degrees; /** * Gets the yaw angle in degrees. * @returns The yaw angle in degrees. */ get yawDegrees(): Degrees; /** * Gets the roll angle in radians. * @returns The roll angle in radians. */ get phi(): Radians; /** * Gets the pitch angle in radians. * @returns The pitch angle in radians. */ get theta(): Radians; /** * Gets the yaw angle in radians. * @returns The yaw angle in radians. */ get psi(): Radians; /** * Gets the roll component in degrees. * @returns The roll component in degrees. */ get phiDegrees(): Degrees; /** * Gets the pitch component in degrees. * @returns The pitch component in degrees. */ get thetaDegrees(): Degrees; /** * Gets the yaw component in degrees. * @returns The yaw component in degrees. */ get psiDegrees(): Degrees; /** * Returns a string representation of the Euler angles. * @param precision The number of decimal places to include in the string representation. Default is 6. * @returns A string representation of the Euler angles. */ toString(precision?: number): string; /** * Calculates the Direction Cosine Matrix (DCM) using the 3-2-1 Euler angles convention. * @returns The calculated DCM as a Matrix object. */ dcm321(): Matrix; /** * Rotates a 3D vector using a 3-2-1 Euler angle sequence. * @param v The vector to rotate. * @returns The rotated vector. */ rotateVector321(v: Vector3D): Vector3D; }