ootk
Version:
Orbital Object Toolkit including Multiple Propagators, Initial Orbit Determination, and Maneuver Calculations.
106 lines (105 loc) • 3.68 kB
TypeScript
/**
* @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;
}