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

axelson
Can anyone recommend a tmux session switcher? I’ve used https://github.com/siadat/session-finder in the past but it’s not very actively m...
New
AstonJ
Looking at @siddhant3030’s photo from the Do you blog? thread, do you cover your computer or phone camera as a security precaution? Wha...
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
Exadra37
Cloudflare as workers to run serverless code without using containers: So it seems that Isolates is based on: What we ended up settl...
New
AstonJ
Just been adding some more portals, currently have the following languages: Apache Groovy C C# C++ Clojure CoffeeScript Crystal ...
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
finner
When you are under pressure to deliver you ideally want your Pull Request to be reviewed, approved and merged as quick as possible. So do...
New
New
New
jaeyson
Hi!, hope everyone’s ok. Sorry if this question is ambiguous (i’ll remove this if i break some rules here). This is more like a self-ques...
New

Other popular topics Top

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
PragmaticBookshelf
Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you’ll go beyond the syntax—and...
New
ohm
Which, if any, games do you play? On what platform? I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
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
hilfordjames
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New
Fl4m3Ph03n1x
Background Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New