NKTgLaw

NKTgLaw

Experimental Verification of the NKT Law with NASA Planetary Data (Go Implementation)

Hi everyone :waving_hand:

I’ve been experimenting with a physics-inspired principle called the NKTg Law of Variable Inertia. The core idea is that an object’s motion depends on the interaction between its position, velocity, and mass.

The formula is simple:

m = NKTg1 / (x * v)

where:

  • x = position (km)

  • v = velocity (km/s)

  • NKTg1 = x * (m * v)

I used NASA’s real-time data (30–31 Dec 2024) for the 8 planets and tested whether this law can interpolate planetary masses. To my surprise, the interpolated values matched NASA’s published masses with almost zero error. :rocket:

Here’s a minimal Go implementation:

package main

import (
    "fmt"
)

type Planet struct {
    Name   string
    X      float64
    V      float64
    NKTg1  float64
    NASAm  float64
}

func main() {
    planets := []Planet{
        {"Mercury", 6.9817930e7, 38.86, 8.951e32, 3.301e23},
        {"Venus",   1.0893900e8, 35.02, 1.858e34, 4.867e24},
        {"Earth",   1.4710000e8, 29.29, 2.571e34, 5.972e24},
        {"Mars",    2.4923000e8, 24.07, 3.850e33, 6.417e23},
        {"Jupiter", 8.1662000e8, 13.06, 2.024e37, 1.898e27},
        {"Saturn",  1.5065300e9, 9.69,  8.303e36, 5.683e26},
        {"Uranus",  3.0013900e9, 6.8,   1.772e36, 8.681e25},
        {"Neptune", 4.5589000e9, 5.43,  2.534e36, 1.024e26},
    }

    fmt.Printf("%-10s %-15s %-15s %-10s\n", "Planet", "NASA_m", "Interpolated_m", "Error(%)")

    maxError := 0.0

    for _, p := range planets {
        interp := p.NKTg1 / (p.X * p.V)
        delta := (p.NASAm - interp) / p.NASAm * 100
        if delta < 0 {
            if -delta > maxError {
                maxError = -delta
            }
        } else if delta > maxError {
            maxError = delta
        }

        fmt.Printf("%-10s %-15.5e %-15.5e %-10.5e\n", p.Name, p.NASAm, interp, delta)
    }

    fmt.Printf("\nMax relative error: %.5e %%\n", maxError)
}


:white_check_mark: Expected output: A table showing NASA’s official masses vs interpolated masses.
Relative errors are essentially 0%, confirming the interpolation works exactly.


:light_bulb: Open question for Devtalk:

  • How would you improve this Go code to be more idiomatic or efficient?

  • Would you try rewriting this experiment in another language (Rust, Elixir, Scala, Ruby) and compare results?

I think it’s a fun way to combine physics-inspired laws with coding practice. Curious to hear your thoughts!

/go

Where Next?

Popular General Dev topics Top

wolf4earth
Inspired by this thread about arcade games - which I initially misread as favorite arcade game soundtracks - I wanted to ask about your f...
New
AstonJ
If you’re a fan, why? If you’re not fussed on it, how comes?
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
DevotionGeo
As the title suggests, this thread will contain some real wisdom came from experience. Please add something meaningful than fancy looking...
New
jss
What do people think about Data-Oriented Programming, like this book tackles? https://www.manning.com/books/data-oriented-programming Ho...
New
DevotionGeo
The Odin programming language is designed with the intent of creating an alternative to C with the following goals: simplicity high per...
New
AstonJ
Things like smart speakers (such Amazon Alexa), smart TVs or other devices with built in microphones, cameras or with other features that...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
harwind
I’m working on a Spring Boot project and I have a controller where I want to map multiple request paths to a single method. Let’s say I h...
New
AntonRich
I don’t know what happened today. But I just started reading SICP which I meant to do for a long time. The book itself: I’m not even s...
New

Other popular topics Top

AstonJ
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
PragmaticBookshelf
From finance to artificial intelligence, genetic algorithms are a powerful tool with a wide array of applications. But you don't need an ...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1147 29994 760
New
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New