Skip to content

userKDO/KeplerSolver

Repository files navigation

KeplerSolver

C# library for satellite orbit calculations using Keplerian mechanics.

Features

  • Orbital period & velocity calculations
  • Multiple celestial bodies (Earth, Mars, Moon)
  • Extensible architecture
  • Clean API

Documentation

Quick reference: Documentation.pdf - API overview

Full documentation: To generate complete HTML documentation with search and examples:

# Install DocFX
dotnet tool install -g docfx

# Install Node.js (required for full documentation)
Download from: https://nodejs.org/

# Clone and build the project
git clone https://github.com/userKDO/KeplerSolver.git
cd KeplerSolver
dotnet build

# Generate and serve documentation
cd docs
docfx init

# When prompted:
# - Name: KeplerSolverDocs
# - Generate .NET API: y
# - .NET projects location: ../KeplerSolver.csproj
# - Use default values for other options

# Generate and serve documentation
docfx docfx.json --serve

# Opens http://localhost:8080 with full documentation

Quickstart

// Create a satellite
var satellite = new Satellite 
{
    Name = "ISS",
    Altitude = 400,
    Inclination = 51.6
};

// Calculate orbital period
var period = OrbitalCalculator.OrbitalPeriodviaHeight(satellite, Planet.Earth);

GUI start

## in the reopository folder:
cd KeplerSolver.App
dotnet run
## Then you will see main program GUI

Tests

##  In the Repo directory:
cd KeplerSolver.Tests
dotnet run
## Then you will see GUI for tests

Also You can get this library on Nuget

dotnet add package KeplerSolver

You can add your own tests in mathTests.cs if you wanna tests your new methods or if you think that my tests are shit If you think that my tests are shit, pls send me your test I'll be very glad to check and upgrade my library

About

A high-performance C# library for solving Kepler's equation and calculating satellite orbits. Includes core math models, vector utilities, time conversions, and a built-in GUI for testing.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages