UNPKG

nbody

Version:

Configure, simulate and visualize n-body interactions

18 lines (17 loc) 1.74 kB
/** * 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, };