nbody
Version:
Configure, simulate and visualize n-body interactions
18 lines (17 loc) • 1.74 kB
TypeScript
/**
* NBody is a JS/TS library for simulating and visualizing n-body systems. It provides interfaces and implementations of forces, frame of reference transformations, simulation control, and multiple modes and paradigms of visualization.
* @author Yeluri Ketan
*/
import { CelestialBody } from './CelestialBody';
import { LambdaForce, type Force } from './Force';
import { CentripetalForce, CombinedForce, Gravity } from './library/Force';
import { ExplicitEulerSim, RungeKutta4Sim, SemiImplicitEulerSim, VelocityVerletSim } from './library/SimulateFunction';
import { LambdaSim, type SimulateFunction } from './SimulateFunction';
import { Simulation, type ControllerType, type VisType } from './Simulation';
import { State } from './State';
import { BodyCenterTransformation, CoMTransformation, PinTransformation, RotateTransformation, TimedRotateTransformation } from './library/Transformation';
import { LambdaTransformation, type Transformation } from './Transformation';
import { Universe, type UniverseConfig } from './Universe';
import { RealTimeVisualizer, RealTimeVisualizer3D, RecordingVisualizer, RecordingVisualizer3D } from './library/Visualizer';
import { Vector3 } from 'three';
export { BodyCenterTransformation, CelestialBody, CentripetalForce, CombinedForce, CoMTransformation, ExplicitEulerSim, Gravity, LambdaForce, LambdaSim, LambdaTransformation, PinTransformation, RealTimeVisualizer, RealTimeVisualizer3D, RecordingVisualizer, RecordingVisualizer3D, RotateTransformation, RungeKutta4Sim, SemiImplicitEulerSim, Simulation, State, TimedRotateTransformation, Universe, Vector3, VelocityVerletSim, type ControllerType, type Force, type SimulateFunction, type Transformation, type UniverseConfig, type VisType, };