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

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1052 22171 400
New
AstonJ
The obligatory speed test thread :smiley: Check here: https://www.speedtest.net When complete, click on the share link and copy and pas...
New
AstonJ
Thread to discuss ideas and thoughts on how developers might be able help in the Coronavirus pandemic.
New
justinjunodev
Figured this would be a cool topic and maybe provide some inspiration for those who are just starting to work from home. Feel free to sha...
New
AstonJ
In your opinion which programming languages are simple to use and easy to get started wither those who don’t have a computer science bac...
New
AstonJ
Just been adding some more portals, currently have the following languages: Apache Groovy C C# C++ Clojure CoffeeScript Crystal ...
New
finner
One of my 2021 resolutions is to read more tech books. As part of this effort I purchased two MEAPs (Manning Early Access Program) which...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
AstonJ
Just wondering whether you have a preference (I know I do!) poll
New
Margaret
Hello DevTalk Community! Once again, The Pragmatic Programmers are looking for developers who’d like to help shape the future of our boo...
New

Other popular topics Top

AstonJ
Or looking forward to? :nerd_face:
498 13326 269
New
siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
rustkas
Intensively researching Erlang books and additional resources on it, I have found that the topic of using Regular Expressions is either c...
New
PragmaticBookshelf
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser. ...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
New
PragmaticBookshelf
Author Spotlight: VM Brasseur @vmbrasseur We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New