ootk
Version:
Orbital Object Toolkit including Multiple Propagators, Initial Orbit Determination, and Maneuver Calculations.
57 lines (56 loc) • 2.29 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 { Matrix, Radians, RadiansPerSecond, Vector, Vector3D } from '../main.js';
export declare class Quaternion {
x: number;
y: number;
z: number;
w: number;
constructor(x: number, y: number, z: number, w: number);
static readonly zero: Quaternion;
static readonly one: Quaternion;
static readonly xAxis: Quaternion;
static readonly yAxis: Quaternion;
static readonly zAxis: Quaternion;
toString(precision?: number): string;
positivePolar(): Quaternion;
magnitudeSquared(): number;
magnitude(): number;
scale(n: number): Quaternion;
negate(): Quaternion;
normalize(): Quaternion;
conjugate(): Quaternion;
inverse(): Quaternion;
add(q: Quaternion): Quaternion;
subtract(q: Quaternion): Quaternion;
addReal(n: number): Quaternion;
multiply(q: Quaternion): Quaternion;
dot(q: Quaternion): number;
rotateVector(v: Vector): Vector;
rotateVector3D(v: Vector3D): Vector3D;
lerp(q: Quaternion, t: number): Quaternion;
slerp(q: Quaternion, t: number): Quaternion;
toVector3D(): Vector3D;
angle(q: Quaternion): Radians;
geodesicAngle(q: Quaternion): Radians;
distance(q: Quaternion): number;
delta(qTo: Quaternion): Quaternion;
toDirectionCosineMatrix(): Matrix;
toRotationMatrix(): Matrix;
vectorAngle(observer: Vector3D, target: Vector3D, forward: Vector3D): number;
kinematics(angularVelocity: Vector3D<RadiansPerSecond>): Quaternion;
}