Calculates a stars position and velocity in the cartesian coordinate system.

Related tags

Geospatial SPV
Overview

SPV

Calculates a stars position and velocity in the cartesian coordinate system.

logo_spv_1024_final

Screenshot_2021-11-10_22-32-21

Todo

  1. Expand the number of available operation
  2. Batch processing by taking file inputs
  3. Rust crate version
  4. Organizing/file structure options for batch output
  5. The ability to forward information from input files to the output files (example: Luminosity)

What it can't do

  1. Get any radial velocity if the position is 0
  2. Yeah that's about it :)

Governing equations

Position

image

Where x, y and z are the coordinates in the cartesian coordinate system in [km].

ra is Right ascension in [degrees] and dec is Declination in [degrees]

Radial velocity

image

x_u, y_u and z_u are the coordinates for a unitvector pointing in the direction of the Radial Velocity vector.

Removing the 0's is used for positive Radial Velocity vectors.

x, y and z are still the position coordinates in cartesian coordinates [km].

image

Multiplying by the radial velocity gives us the coordinates of the resulting vector.

Proper motion

Screenshot_2021-11-10_22-29-13

Getting the position the object will be at in one second by using the same formula as for position.

Screenshot_2021-11-10_22-29-29

Resetting the origin of the vector to the current position

image

Multiplying by the new position gives us the coordinates of the resulting vector.

Total velocity

image

Just taking the sum of the two velocities.

You might also like...
A set of tools for generating isochrones and reverse isochrones from geographic coordinates

This library provides a set of tools for generating isochrones and reverse isochrones from geographic coordinates. It leverages OpenStreetMap data to construct road networks and calculate areas accessible within specified time limits.

A velocity-based falling sand simulation built with Rust and Bevy

⏳ Bevy Falling Sand A velocity-based falling sand simulation built with Rust and Bevy! This simluation uses bevy_rapier to generate colliders that reg

:stars: Manage your shell commands.
:stars: Manage your shell commands.

Pueue Pueue is a command-line task management tool for sequential and parallel execution of long-running tasks. Simply put, it's a tool that processes

Rust crate for performing coordinate transforms
Rust crate for performing coordinate transforms

Synopsis A Rust crate use for performing coordinate transformations. The crate relies on nalgebra vectors to perform the coordinate transformations. C

Rust implementation to simply convert between coordinate systems

GeoMorph Simple conversion between different coordinate systems without external wrappers

A small Rust library that let's you get position and size of the active window on Windows and MacOS

active-win-pos-rs A small Rust library that let's you get position and size of the active window on Windows and MacOS Build % git clone https://github

2D and 3D physics engine based on Extended Position Based Dynamics for Bevy.

Bevy XPBD Bevy XPBD is a 2D and 3D physics engine based on Extended Position Based Dynamics (XPBD) for the Bevy game engine. Design Below are some of

A position (finance) definition that has some good algebraic properties.

Positions A position (finance) definition with some good algebraic properties. API Docs Example Add positions as a dependency of your project. [depend

Drop ownership from "method position"

disown Drop ownership from "method position". Motivation Normally, unowned data is automatically dropped at the end of its residing block. We can also

Small program which groups images based on the GPS position.

gps-cluster This small program will take some pictures in input, and based on the metadata on every image, it will group them by their GPS position, i

A lightweight platform-accelerated library for biological motif scanning using position weight matrices.

🎼 🧬 lightmotif A lightweight platform-accelerated library for biological motif scanning using position weight matrices. 🗺️ Overview Motif scanning

Rusty Shellcode Reflective DLL Injection (sRDI) - A small reflective loader in Rust 4KB in size for generating position-independent code (PIC) in Rust.
Rusty Shellcode Reflective DLL Injection (sRDI) - A small reflective loader in Rust 4KB in size for generating position-independent code (PIC) in Rust.

Shellcode Reflective DLL Injection (sRDI) Shellcode reflective DLL injection (sRDI) is a process injection technique that allows us to convert a given

💫 List-rendering component utilizing FLIP position transitions for Leptos
💫 List-rendering component utilizing FLIP position transitions for Leptos

AnimatedFor / component for Leptos FLIP animations for element and component groups inspired by Vue's TransitionGroup. This crate exports a compon

Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study
Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Writing an OS in Rust, To Study Operating System and Computer System

Hun Os Writing an OS in Rust, To Study Operating System and Computer System Reference Os Written In Rust https://github.com/seonghun-dev/blog_os https

A lightweight microkernel/IPC based operating system built with Rust which is not a clone of any existing operating system
A lightweight microkernel/IPC based operating system built with Rust which is not a clone of any existing operating system

Noble Operating System Noble is a lightweight microkernel and IPC based operating system built with Rust which is not a clone of any existing operatin

Experimental package manager/system configurator for system hoppers

mascara An experimental package manager/config initializer tool for system hoppers. mascara.toml [mascara] feature = "Debian" logs = { stdout = "blue"

First project in rust which will be to make an accounts system & Leaderboard/Score system

rust-backend this is my first project in rust which will be to make a backend for compsci project it will include: Accounts, Player Achievements (if I

Comments
  • Fixed angle error and added pos from t_p

    Fixed angle error and added pos from t_p

    Velocity equations used the eccentric anomaly (E) when the true anomaly (v) should have been used instead. This pull request addresses that problem. Additionally, it allows for the current position along the orbit to be calculated using the time since periapsis (t_p).

    opened by HolmanDev 3
  • Reverted atan2 change

    Reverted atan2 change

    The previous atan2 change was unnecessary and wrong. It was thought that the true anomaly would be constrained to a maximum of 90 degrees, but this wasn't true because the equation multiplied the result by two, resulting in a full -180 to 180 degree range.

    opened by HolmanDev 0
  • todo

    todo

    Goals:

      • [x] Request as few inputs as possible
      • [x] All inputs as indurstry standard
      • [x] Seperate result panels for all eq's
      • [x] More and dynamic passtrough
      • [x] Input files
      • [x] Crate version
      • [x] remove enter confirmation for inputs
      • [x] New eq seperation method
      • [ ] smaller input windows
      • [ ] mobile version?
      • [ ] save to folder?
      • [ ] More verbose code
      • [x] Better comments
      • [ ] Graphic visual info
      • [ ] help button for each input window
      • [ ] Credits
      • [x] Examples
      • [ ] Add other nice eq's
    enhancement 
    opened by AlbinSjoegren 0
Releases(0.6.2)
Owner
Albin Sjögren
Albin Sjögren
Optimized geometry primitives for Microsoft platforms with the same memory layout as DirectX and Direct2D and types.

geoms Geometry for Microsoft platforms - a set of geometry primitives with memory layouts optimized for native APIs (Win32, Direct2D, and Direct3D). T

Connor Power 2 Dec 11, 2022
Geospatial primitives and algorithms for Rust

geo Geospatial Primitives, Algorithms, and Utilities The geo crate provides geospatial primitive types such as Point, LineString, and Polygon, and pro

GeoRust 989 Dec 29, 2022
Blazing fast and lightweight PostGIS vector tiles server

Martin Martin is a PostGIS vector tiles server suitable for large databases. Martin is written in Rust using Actix web framework. Requirements Install

Urbica 921 Jan 7, 2023
Geospatial primitives and algorithms for Rust

geo Geospatial Primitives, Algorithms, and Utilities The geo crate provides geospatial primitive types such as Point, LineString, and Polygon, and pro

GeoRust 990 Jan 1, 2023
Zero-Copy reading and writing of geospatial data.

GeoZero Zero-Copy reading and writing of geospatial data. GeoZero defines an API for reading geospatial data formats without an intermediate represent

GeoRust 155 Dec 29, 2022
TIFF decoding and encoding library in pure Rust

image-tiff TIFF decoding and encoding library in pure Rust Supported Features Baseline spec (other than formats and tags listed below as not supported

image-rs 66 Dec 30, 2022
OpenStreetMap flatdata format and compiler

osmflat Flat OpenStreetMap (OSM) data format providing an efficient random data access through memory mapped files. The data format is described and i

null 31 Dec 7, 2022
A traffic simulation game exploring how small changes to roads affect cyclists, transit users, pedestrians, and drivers.

A/B Street Ever been stuck in traffic on a bus, wondering why is there legal street parking instead of a dedicated bus lane? A/B Street is a game expl

A/B Street 6.8k Jan 4, 2023
Didactic implementation of the type checker described in "Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism" written in OCaml

bidi-higher-rank-poly Didactic implementation of the type checker described in "Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorph

Søren Nørbæk 23 Oct 18, 2022
A single-binary, GPU-accelerated LLM server (HTTP and WebSocket API) written in Rust

Poly Poly is a versatile LLM serving back-end. What it offers: High-performance, efficient and reliable serving of multiple local LLM models Optional

Tommy van der Vorst 13 Nov 5, 2023