ORT: Speciale Relativiteit#

Hoofdstukken 1-10 | Formules 1-22

Dit notebook behandelt het deel van de Ontologische Relativiteitstheorie (ORT) dat de speciale relativiteit beschrijft. Het deel van het model dat de SRT beschrijft berust op twee principes: alles beweegt met snelheid \(c\) door de ruimtetijd, en Invariantie van Zijn (\(m \cdot v_t = m_0 \cdot c\)).

import sys, pathlib
sys.path.insert(0, str(pathlib.Path().resolve().parent / 'shared'))
from ort_core import (C, ORT, NewtonModel, EinsteinModel)
from ort_plots import (velocity_circle, velocity_circle_interactive, gamma_curve,
    simultaneity_diagram, lorentz_transform_grid, zijn_vector_diagram, model_comparison_bar)
import math
import numpy as np
%matplotlib inline

Hoofdstuk 1 – Inleiding#

Het deel van de ORT dat de speciale relativiteit beschrijft berust op twee principes:

Principe 1 — Snelheid door de tijd Elk object beweegt altijd met precies de lichtsnelheid \(c\) door de vierdimensionale ruimtetijd. Tijd is een bewegingsrichting net als de drie ruimtedimensies. Een object in rust beweegt met 1 seconde per seconde door de tijd — en dat is de lichtsnelheid \(c\). Versnellen in de ruimte betekent snelheid “lenen” van de tijdrichting.

Principe 2 — Invariantie van Zijn Het product van de massa van een object en zijn snelheid door de tijd is constant: \(m \cdot v_t = m_0 \cdot c\). Binnen de ORT noemen we dit de Invariantie van het Zijn: alle waarnemers zien dezelfde hoeveelheid Zijn. Wanneer een object sneller door de ruimte beweegt en dus trager door de tijd, neemt zijn massa evenredig toe.

Dit notebook laat zien dat deze twee principes alle effecten van de speciale relativiteit reproduceren: Lorentz-factor, E=mc\(^2\), impuls, snelheidsoptelling, gelijktijdigheid en de volledige Lorentz-transformatie.


Hoofdstuk 2 – Het Kernprincipe: De Snelheidsbol#

Formule (1) – De snelheidsnorm#

\[v_{ruimte}^2 + v_{tijd}^2 = c^2 \tag{1}\]

Dit is de vergelijking van een 4D-bol met straal \(c\) in de snelheidsruimte (hier weergegeven als 2D-doorsnede in het \((v_{ruimte}, v_{tijd})\)-vlak). De hoek \(\theta\) meet de richting van de snelheidsvector ten opzichte van de tijdas.

Formules (2a) en (2b) – Parametrisatie met \(\theta\)#

\[v_{ruimte} = c \sin\theta \tag{2a}\]
\[v_{tijd} = c \cos\theta \tag{2b}\]
  • \(\theta = 0\): object in rust, beweegt met \(c\) door de tijd

  • \(\theta = 90°\): foton, beweegt met \(c\) door de ruimte, geen voortgang door de tijd

# De Snelheidsbol (2D-doorsnede)
velocity_circle(lang='nl')
pass
_images/80d8a0d1b0c7ef6e367dd25e41c02edfa14d2ba30d887c6149192d32d17fa60e.png
# Interactieve versie -- verschuif de slider om beta te veranderen
velocity_circle_interactive(lang='nl')
Interactieve versie — download het notebook om de slider te gebruiken.

Hoofdstuk 3 – Wiskundige Uitwerking#

Alle relativistische grootheden volgen direct uit de hoek \(\theta\).

Formule (5) – Tijddilatatie#

\[\frac{d\tau}{dt} = \cos\theta \tag{5}\]

De eigentijd \(\tau\) van een bewegend object tikt trager met factor \(\cos\theta\).

Formule (6) – De Lorentz-factor#

\[\gamma = \frac{1}{\cos\theta} \tag{6}\]

De Lorentz-factor uit de SRT is simpelweg de secans van \(\theta\). In de ORT is \(\gamma\) een afgeleide notatie, geen vertrekpunt.

Formules (7) en (8) – Energie#

\[E = \frac{m_0 c^2}{\cos\theta} \tag{7}\]
\[E_k = \left(\frac{1}{\cos\theta} - 1\right) m_0 c^2 \tag{8}\]

Afgeleid in hoofdstuk 4 via Invariantie van Zijn en de arbeid-integraal (formule 15).

Formule (9) – Impuls#

\[p = m_0 c \tan\theta \tag{9}\]

Afgeleid in hoofdstuk 4: uit \(m_{rel} = m_0/\cos\theta\) (formule 14), dat volgt uit Invariantie van Zijn.

Formule (10) – Relativistische snelheidsoptelling#

\[v_{totaal} = \frac{v_1 + v_2}{1 + \frac{v_1 v_2}{c^2}} \tag{10}\]

Dit beschrijft de optelling van ruimtesnelheden (\(v = c\sin\theta\)).

Volgt uit de Lorentz-transformatie (hoofdstuk 5, formules 22a-b).

Formule (11) – Rapiditeit#

\[\varphi = \text{artanh}(\sin\theta) \tag{11}\]

Rapiditeiten zijn additief: \(\varphi_{totaal} = \varphi_1 + \varphi_2\).

Rapiditeit is de standaardterm in de relativistische natuurkunde (o.a. Rindler, Jackson).

# Gamma-curve: hoe gamma stijgt met toenemende snelheid
gamma_curve(lang='nl')
pass
_images/4761fd343a7b1a98e0580bc1d0d160f7e085fd14ae71473b7ca88115a2567a06.png
# Bereken gamma voor diverse snelheden
print(f"{'beta':>8}  {'theta (graden)':>15}  {'gamma':>10}  {'v_tijd/c':>10}")
print("-" * 50)
for beta in [0.0, 0.1, 0.3, 0.5, 0.8, 0.9, 0.95, 0.99, 0.999]:
    stv = ORT.from_beta(beta)
    print(f"{beta:8.3f}  {math.degrees(stv.theta):15.2f}  {stv.gamma:10.4f}  {stv.v_time/C:10.6f}")
    beta   theta (graden)       gamma    v_tijd/c
--------------------------------------------------
   0.000             0.00      1.0000    1.000000
   0.100             5.74      1.0050    0.994987
   0.300            17.46      1.0483    0.953939
   0.500            30.00      1.1547    0.866025
   0.800            53.13      1.6667    0.600000
   0.900            64.16      2.2942    0.435890
   0.950            71.81      3.2026    0.312250
   0.990            81.89      7.0888    0.141067
   0.999            87.44     22.3663    0.044710
# Snelheidsoptelling: 0.8c + 0.8c geeft NIET 1.6c
v1 = 0.8 * C
v2 = 0.8 * C

v_newton = NewtonModel.velocity_addition(v1, v2)
v_srt = EinsteinModel.velocity_addition(v1, v2)
v_ort = ORT.velocity_addition(v1, v2)

print(f"Snelheidsoptelling: {v1/C:.1f}c + {v2/C:.1f}c")
print(f"  Newton:  {v_newton/C:.4f}c  (FOUT: overschrijdt c!)")
print(f"  SRT:     {v_srt/C:.4f}c")
print(f"  ORT:     {v_ort/C:.4f}c  (= SRT)")
print()

# Rapiditeitsverificatie -- SRT en ORT
phi1_srt = math.atanh(v1 / C)
phi2_srt = math.atanh(v2 / C)
phi_total_srt = phi1_srt + phi2_srt
v_from_phi_srt = C * math.tanh(phi_total_srt)

phi1_ort = ORT.rapidity(v1)
phi2_ort = ORT.rapidity(v2)
phi_total_ort = phi1_ort + phi2_ort
v_from_phi_ort = C * math.tanh(phi_total_ort)

print(f"Rapiditeit (SRT): phi1={phi1_srt:.4f} + phi2={phi2_srt:.4f} = {phi_total_srt:.4f}")
print(f"  v = c*tanh(phi_totaal) = {v_from_phi_srt/C:.4f}c")
print(f"Rapiditeit (ORT): phi1={phi1_ort:.4f} + phi2={phi2_ort:.4f} = {phi_total_ort:.4f}")
print(f"  v = c*tanh(phi_totaal) = {v_from_phi_ort/C:.4f}c")
print(f"  Verschil SRT vs ORT: {abs(phi_total_srt - phi_total_ort):.2e}  (identiek)")
Snelheidsoptelling: 0.8c + 0.8c
  Newton:  1.6000c  (FOUT: overschrijdt c!)
  SRT:     0.9756c
  ORT:     0.9756c  (= SRT)

Rapiditeit (SRT): phi1=1.0986 + phi2=1.0986 = 2.1972
  v = c*tanh(phi_totaal) = 0.9756c
Rapiditeit (ORT): phi1=1.0986 + phi2=1.0986 = 2.1972
  v = c*tanh(phi_totaal) = 0.9756c
  Verschil SRT vs ORT: 0.00e+00  (identiek)

Hoofdstuk 4 – Invariantie van Zijn#

Het tweede principe van de ORT: het Zijn van een object wordt gedefinieerd als het product van zijn relativistische massa en zijn snelheid door de tijd. Dit product is invariant — het verandert niet met snelheid.

De naam Ontologische Relativiteitstheorie verwijst naar dit begrip: ontologie is de filosofische studie van wat bestaat. De ORT vertrekt vanuit het Zijn — het fundamentele bestaan van een object (\(m_0\)) — als invariant.

Formule (12) – Massa-Zijn#

\[S_m = m_{rel} \cdot v_{tijd} = m_0 c \tag{12}\]

Formule (13) – Energie-Zijn (afgeleid)#

\[S_E = E \cdot v_{tijd} = m_0 c^3 \tag{13}\]

Dit is geen onafhankelijk postulaat maar een gevolg van Massa-Zijn (12) en \(E = m_{rel} c^2\) (formule 7).

Formule (14) – Relativistische massa#

Uit \(S_m = m_0 c\) en \(v_{tijd} = c\cos\theta\) volgt:

\[m_{rel} = \frac{m_0 c}{v_{tijd}} = \frac{m_0}{\cos\theta} \tag{14}\]

Dit leidt de relativistische massa af uit het model, in plaats van het te postuleren! In de SRT is dit \(\gamma m_0\); hier volgt het direct uit het Zijn-principe.

Formule (15) – E = mc² via de arbeid-integraal#

De factor \(c^2\) wordt niet gepostuleerd maar afgeleid. De sleutel is de standaard definitie van kinetische energie als arbeid:

\[E_{kin} = \int F \, dx = \int v \, dp\]

We kennen \(v\) en \(p\) beide als functie van \(\theta\):

\[v = c\sin\theta \qquad \text{(formule 2a)}\]
\[p = \frac{m_0}{\cos\theta} \cdot c\sin\theta = m_0 c \tan\theta \qquad \text{(formules 14 + 2a)}\]
\[dp = \frac{m_0 c}{\cos^2\theta} \, d\theta\]
\[E_{kin} = \int_0^\theta c\sin\theta' \cdot \frac{m_0 c}{\cos^2\theta'} \, d\theta' = m_0 c^2 \int_0^\theta \frac{\sin\theta'}{\cos^2\theta'} \, d\theta'\]

Deze integraal is standaard (\(\int \sin x / \cos^2 x \, dx = 1/\cos x\)):

\[E_{kin} = m_0 c^2 \left(\frac{1}{\cos\theta} - 1\right) \tag{15}\]

De oorsprong van \(c^2\): het product \(v \cdot dp\) bevat \(c \cdot c\): één \(c\) uit de snelheid \(v = c\sin\theta\), één \(c\) uit de impuls \(p = m_0 c \tan\theta\). De factor \(c^2\) is een rekenkundig gevolg, geen postulaat.

De totale energie is \(E = E_{kin} + m_0 c^2 = m_0 c^2 / \cos\theta\) (formule 7). In rust (\(\theta = 0\)) reduceert dit tot \(E_0 = m_0 c^2\).

Formules (16)–(19) – De Zijn-vector#

De Zijn-vector \(\vec{S}\) heeft twee componenten:

\[S_{ruimte} = p = m_0 c \tan\theta \quad \text{(varieert)} \tag{16}\]
\[S_{tijd} = m_0 c \quad \text{(invariant)} \tag{17}\]

Zijn is tijdimpuls. De structuur is symmetrisch:

Door de ruimte

Door de tijd

Snelheid

\(v = c\sin\theta\)

\(d\tau/dt = \cos\theta\)

“Impuls”

\(p = m_{rel} \cdot v\)

\(m_{rel} \cdot d\tau/dt = m_0\)

Met dimensieloze tijdsnelheid \(d\tau/dt = \cos\theta\) reduceert Invariantie van Zijn tot: \(m_{rel} \cdot d\tau/dt = (m_0/\cos\theta) \cdot \cos\theta = m_0\). De behoudswet zegt simpelweg dat rustmassa invariant is.

Waarom \(S_{tijd} = m_0 c\) en niet \(m_0\)? De factor \(c\) is géén eenheidskeuze. Ze volgt direct uit Principe 1: een object in rust beweegt met \(v_{tijd} = c\) door de tijd. Invariantie van Zijn zegt dan \(m_0 \cdot c = m_0 c\). De tabel hierboven gebruikt de dimensieloze tijdsnelheid \(d\tau/dt = \cos\theta\) (waardoor de \(c\) wegvalt), terwijl \(S_{tijd}\) de volledige \(v_{tijd} = c\cos\theta\) gebruikt.

De grootte van de Zijn-vector:

\[|\vec{S}| = \frac{m_0 c}{\cos\theta} = \frac{E}{c} \quad \text{(afgeleid, §4.4)} \tag{18}\]

Pythagoras op de Zijn-vector geeft de energie-impulsrelatie:

\[E^2 = (pc)^2 + (m_0 c^2)^2 \tag{19}\]

Verband met de vierimpuls (SRT)#

De Zijn-vector bevat dezelfde fysica als de vierimpuls \(p^\mu\) uit de speciale relativiteitstheorie (SRT), maar de presentatie verschilt wezenlijk:

Component

Vierimpuls \(p^\mu\) (SRT)

Zijn-vector \(\vec{S}\) (ORT)

Ruimte

\(p\)

\(S_{ruimte} = p\)

Tijd

\(p^0 = E/c\)

\(S_{tijd} = m_0 c\)

Grootte

\(m_0 c\) (als norm)

\(\lvert\vec{S}\rvert = E/c\)

De vierimpuls verbergt \(m_0\) als norm — je moet \(\sqrt{p^\mu p_\mu}\) berekenen om de rustmassa terug te vinden. De Zijn-vector maakt de invariantie van \(m_0\) direct zichtbaar als component: \(S_{tijd} = m_0 c\) staat er letterlijk in.

De afleidingsketen#

\[\boxed{\text{Invariantie van Zijn}} \xrightarrow{m \cdot v_t = m_0 c} m_{rel} = \frac{m_0}{\cos\theta} \xrightarrow{\int v \, dp} E = \frac{m_0 c^2}{\cos\theta} \xrightarrow{|\vec{S}| = E/c} E^2 = (pc)^2 + (m_0 c^2)^2\]
# Zijn-vector diagram
zijn_vector_diagram(lang='nl')
pass
_images/3924f4729a24abe23438162536e4ef2c2e8fdfc6240737355e3ad6ddca918158.png
# Verificatie: Invariantie van Zijn voor diverse snelheden
m0 = 1.0  # kg (eenheidsmassa)
print(f"Invariantie van Zijn: S_m = m_rel * v_tijd = m0 * c = {m0 * C:.6e} kg*m/s")
print()
print(f"{'beta':>6}  {'m_rel (gamma*m0)':>16}  {'v_tijd (m/s)':>14}  {'S_m':>14}  {'= m0*c?':>10}")
print("-" * 70)
for beta in [0.0, 0.3, 0.5, 0.8, 0.9, 0.99]:
    stv = ORT.from_beta(beta)
    m_rel = stv.relativistic_mass(m0)
    v_t = stv.v_time
    s_m = m_rel * v_t
    match = abs(s_m - m0 * C) < 1e-6
    print(f"{beta:6.2f}  {m_rel:16.6f}  {v_t:14.2f}  {s_m:14.6e}  {'JA' if match else 'NEE':>10}")

print()
print("De Zijn-waarde is constant -- onafhankelijk van de snelheid!")
Invariantie van Zijn: S_m = m_rel * v_tijd = m0 * c = 2.997925e+08 kg*m/s

  beta  m_rel (gamma*m0)    v_tijd (m/s)             S_m     = m0*c?
----------------------------------------------------------------------
  0.00          1.000000    299792458.00    2.997925e+08          JA
  0.30          1.048285    285983777.98    2.997925e+08          JA
  0.50          1.154701    259627884.49    2.997925e+08          JA
  0.80          1.666667    179875474.80    2.997925e+08          JA
  0.90          2.294157    130676502.85    2.997925e+08          JA
  0.99          7.088812     42290930.54    2.997925e+08          JA

De Zijn-waarde is constant -- onafhankelijk van de snelheid!
# Verificatie: energie-impulsrelatie E^2 = (pc)^2 + (m0*c^2)^2
m0 = 1.0  # kg
print("Energie-impulsrelatie (formule 19):")
print(f"  m0*c^2 = {m0 * C**2:.6e} J\n")

for beta in [0.0, 0.5, 0.8, 0.99]:
    stv = ORT.from_beta(beta)
    E = stv.total_energy(m0)
    p = stv.momentum(m0)
    lhs = E**2
    rhs = (p * C)**2 + (m0 * C**2)**2
    print(f"  beta={beta:.2f}: E={E:.6e} J, p={p:.6e} kg*m/s")
    print(f"    E^2           = {lhs:.6e}")
    print(f"    (pc)^2+(m0c^2)^2 = {rhs:.6e}")
    print(f"    Klopt: {abs(lhs - rhs) / lhs < 1e-12}\n")
Energie-impulsrelatie (formule 19):
  m0*c^2 = 8.987552e+16 J

  beta=0.00: E=8.987552e+16 J, p=0.000000e+00 kg*m/s
    E^2           = 8.077609e+33
    (pc)^2+(m0c^2)^2 = 8.077609e+33
    Klopt: True

  beta=0.50: E=1.037793e+17 J, p=1.730853e+08 kg*m/s
    E^2           = 1.077014e+34
    (pc)^2+(m0c^2)^2 = 1.077014e+34
    Klopt: True

  beta=0.80: E=1.497925e+17 J, p=3.997233e+08 kg*m/s
    E^2           = 2.243780e+34
    (pc)^2+(m0c^2)^2 = 2.243780e+34
    Klopt: True

  beta=0.99: E=6.371107e+17 J, p=2.103921e+09 kg*m/s
    E^2           = 4.059100e+35
    (pc)^2+(m0c^2)^2 = 4.059100e+35
    Klopt: True
# Numerieke verificatie: arbeid-integraal E_kin = integral(v dp) = m0 c^2 (1/cos(theta) - 1)
# Dit is de NIET-CIRCULAIRE afleiding van E = mc^2 (formule 15)
m0 = 1.0  # kg

print("Arbeid-integraal: E_kin = ∫ v dp = m₀c² (1/cos(θ) - 1)")
print(f"{'':>58} {'Numeriek':>14} {'Analytisch':>14} {'Verschil':>14}")
print("-" * 100)

for beta in [0.1, 0.3, 0.5, 0.8, 0.9, 0.95, 0.99]:
    stv = ORT.from_beta(beta)

    # Numerieke integraal via de nieuwe methode
    E_numerical = stv.kinetic_energy_integral(m0, n_steps=1_000_000)

    # Analytisch resultaat: (gamma - 1) m0 c^2
    E_analytical = stv.kinetic_energy(m0)

    rel_diff = abs(E_numerical - E_analytical) / E_analytical if E_analytical > 0 else 0

    print(f"  β = {beta:.2f}  θ = {math.degrees(stv.theta):6.2f}°  γ = {stv.gamma:8.4f}  "
          f"{E_numerical:14.6e} {E_analytical:14.6e} {rel_diff:14.2e}")

print()
print("De numerieke arbeid-integraal matcht het analytische resultaat.")
print("c² ontstaat als c · c: één c uit v = c·sin(θ), één c uit p = m₀c·tan(θ).")
Arbeid-integraal: E_kin = ∫ v dp = m₀c² (1/cos(θ) - 1)
                                                                 Numeriek     Analytisch       Verschil
----------------------------------------------------------------------------------------------------
  β = 0.10  θ =   5.74°  γ =   1.0050    4.527763e+14   4.527763e+14       3.06e-14
  β = 0.30  θ =  17.46°  γ =   1.0483    4.339625e+15   4.339625e+15       2.56e-14
  β = 0.50  θ =  30.00°  γ =   1.1547    1.390379e+16   1.390379e+16       6.47e-14
  β = 0.80  θ =  53.13°  γ =   1.6667    5.991701e+16   5.991701e+16       3.59e-13
  β = 0.90  θ =  64.16°  γ =   2.2942    1.163131e+17   1.163131e+17       8.31e-13
  β = 0.95  θ =  71.81°  γ =   3.2026    1.979565e+17   1.979565e+17       1.83e-12
  β = 0.99  θ =  81.89°  γ =   7.0888    5.472351e+17   5.472351e+17       9.84e-12

De numerieke arbeid-integraal matcht het analytische resultaat.
c² ontstaat als c · c: één c uit v = c·sin(θ), één c uit p = m₀c·tan(θ).

Hoofdstuk 5 – Gelijktijdigheid en Gelijkplaatsigheid#

De ORT bevat een belangrijk dualiteitsprincipe:

Gelijktijdigheid en gelijkplaatsigheid zijn duale begrippen, symmetrisch rond de lichtlijn (45 graden).

Formule (20) – Hellingshoek simultaneiteitslijn#

\[\alpha = \arctan(\sin\theta) \tag{20}\]

Formule (21) – Relativiteit van gelijktijdigheid#

\[\Delta t' = \frac{\sin\theta}{c \cos\theta} \, \Delta x = \frac{\tan\theta}{c} \, \Delta x \tag{21}\]

Twee gebeurtenissen die in het rustframe gelijktijdig zijn (\(\Delta t = 0\)) maar op verschillende plaatsen, zijn niet gelijktijdig in het bewegende frame.

In de SRT luidt deze formule \(\Delta t' = \gamma v \Delta x / c^2\), wat identiek is.

Formules (22a) en (22b) – De volledige Lorentz-transformatie#

\[x' = \frac{x - c \sin\theta \cdot t}{\cos\theta} \tag{22a}\]
\[t' = \frac{t - \frac{\sin\theta}{c} \, x}{\cos\theta} \tag{22b}\]

In de SRT schrijft men dit als \(x' = \gamma(x - vt)\) en \(t' = \gamma(t - vx/c^2)\).

De ORT leidt de volledige Lorentz-transformatie af: de ruimtelijke component (22a) volgt uit lengtecontractie, de temporele component (22b) volgt uit de dualiteit gelijktijdigheid-gelijkplaatsigheid.

# Relativiteit van gelijktijdigheid
simultaneity_diagram(beta=0.6, lang='nl')
pass
_images/8758a2efd810b59d37113f74536be442edae1ad0c0a78a52a896d8e23108c3a9.png
# Lorentz-transformatie: hoe het ruimtetijd-rooster vervormt
lorentz_transform_grid(beta=0.5, lang='nl')
pass
_images/0c8f7467e558e3b2a0326aa2250b85accdf7acf44d7fe78d715a9cb27041a31e.png
# Numerieke verificatie van de Lorentz-transformatie
beta = 0.6
stv = ORT.from_beta(beta)
v = stv.v_space
gamma = stv.gamma

print(f"Lorentz-transformatie voor beta = {beta}, gamma = {gamma:.6f}")
print(f"v = {v:.2f} m/s\n")

# Testgebeurtenissen (x in lichtmeters, t in seconden)
events = [
    (0, 0, "Oorsprong"),
    (C, 0, "x=c, t=0 (gelijktijdig maar niet gelijkplaatsig)"),
    (0, 1, "x=0, t=1 (gelijkplaatsig maar niet gelijktijdig)"),
    (C, 1, "x=c, t=1"),
]

print(f"{'Gebeurtenis':<50} {'x':>12} {'t':>12} {'x_prime':>14} {'t_prime':>14}")
print("-" * 105)
for x, t, label in events:
    x_p, t_p = stv.lorentz_transform(x, t)
    # Verificatie met Einstein-formules
    x_e = EinsteinModel.lorentz_x(x, t, v)
    t_e = EinsteinModel.lorentz_t(x, t, v)
    print(f"{label:<50} {x/C:12.4f}c {t:12.4f}s {x_p/C:14.4f}c {t_p:14.4f}s")
    assert abs(x_p - x_e) < 1e-6, "Mismatch!"
    assert abs(t_p - t_e) < 1e-6, "Mismatch!"

print("\nAlle waarden komen exact overeen met Einstein's Lorentz-transformatie.")
Lorentz-transformatie voor beta = 0.6, gamma = 1.250000
v = 179875474.80 m/s

Gebeurtenis                                                   x            t        x_prime        t_prime
---------------------------------------------------------------------------------------------------------
Oorsprong                                                0.0000c       0.0000s         0.0000c         0.0000s
x=c, t=0 (gelijktijdig maar niet gelijkplaatsig)         1.0000c       0.0000s         1.2500c        -0.7500s
x=0, t=1 (gelijkplaatsig maar niet gelijktijdig)         0.0000c       1.0000s        -0.7500c         1.2500s
x=c, t=1                                                 1.0000c       1.0000s         0.5000c         0.5000s

Alle waarden komen exact overeen met Einstein's Lorentz-transformatie.

Hoofdstuk 6 – Relativistische Effecten#

De ORT beschrijft alle bekende relativistische effecten in termen van de hoek \(\theta\):

Effect

ORT (\(\theta\)-notatie)

Equivalent (\(\gamma\)-notatie)

Tijddilatatie

\(\tau = t\cos\theta\)

\(= t/\gamma\)

Lengtecontractie

\(L = L_0\cos\theta\)

\(= L_0/\gamma\)

Relativistische massa

\(m = m_0/\cos\theta\)

\(= \gamma m_0\)

Impuls

\(p = m_0 c\tan\theta\)

\(= \gamma m_0 v\)

# Relativistische effecten bij v = 0.8c -- Newton vs SRT vs ORT
beta = 0.8
v = beta * C
stv = ORT.from_beta(beta)
m0 = 1.0  # kg
L0 = 1.0  # m (rustlengte)
t_coord = 1.0  # s (coordinaattijd)
theta_deg = math.degrees(stv.theta)

print(f"=== Relativistische effecten bij beta = {beta} ===")
print(f"  theta = {theta_deg:.2f} graden,  gamma = {stv.gamma:.6f}")
print()

# --- Tijddilatatie ---
td_newton = NewtonModel.proper_time(t_coord, v)
td_srt = EinsteinModel.proper_time(t_coord, v)
td_ort = stv.proper_time(t_coord)

print(f"Tijddilatatie (tau voor t = {t_coord} s):")
print(f"  {'Newton':>8}: {td_newton:.6f} s  (geen dilatatie)")
print(f"  {'SRT':>8}: {td_srt:.6f} s  (= t/gamma)")
print(f"  {'ORT':>8}: {td_ort:.6f} s  (= t*cos(theta))")
print()

# --- Lengtecontractie ---
lc_newton = L0  # Newton: geen contractie
lc_srt = EinsteinModel.length(L0, v)
lc_ort = stv.length_contraction(L0)

print(f"Lengtecontractie (L0 = {L0} m):")
print(f"  {'Newton':>8}: {lc_newton:.6f} m  (geen contractie)")
print(f"  {'SRT':>8}: {lc_srt:.6f} m  (= L0/gamma)")
print(f"  {'ORT':>8}: {lc_ort:.6f} m  (= L0*cos(theta))")
print()

# --- Impuls ---
p_newton = NewtonModel.momentum(m0, v)
p_srt = EinsteinModel.momentum(m0, v)
p_ort = stv.momentum(m0)

print(f"Impuls (m0 = {m0} kg):")
print(f"  {'Newton':>8}: {p_newton:.6e} kg*m/s  (= m0*v)")
print(f"  {'SRT':>8}: {p_srt:.6e} kg*m/s  (= gamma*m0*v)")
print(f"  {'ORT':>8}: {p_ort:.6e} kg*m/s  (= m0*c*tan(theta))")
print()

# --- Kinetische energie ---
ek_newton = NewtonModel.kinetic_energy(m0, v)
ek_srt = EinsteinModel.kinetic_energy(m0, v)
ek_ort = stv.kinetic_energy(m0)

print(f"Kinetische energie:")
print(f"  {'Newton':>8}: {ek_newton:.6e} J  (= 0.5*m0*v^2)")
print(f"  {'SRT':>8}: {ek_srt:.6e} J  (= (gamma-1)*m0*c^2)")
print(f"  {'ORT':>8}: {ek_ort:.6e} J  (= (1/cos(theta)-1)*m0*c^2)")
print()

# --- Verificatie SRT = ORT ---
print("Verificatie SRT = ORT:")
print(f"  Tijddilatatie:     verschil = {abs(td_srt - td_ort):.2e}")
print(f"  Lengtecontractie:  verschil = {abs(lc_srt - lc_ort):.2e}")
print(f"  Impuls:            verschil = {abs(p_srt - p_ort):.2e}")
print(f"  Kinetische energie: verschil = {abs(ek_srt - ek_ort):.2e}")
print("  SRT en ORT geven identieke resultaten!")
=== Relativistische effecten bij beta = 0.8 ===
  theta = 53.13 graden,  gamma = 1.666667

Tijddilatatie (tau voor t = 1.0 s):
    Newton: 1.000000 s  (geen dilatatie)
       SRT: 0.600000 s  (= t/gamma)
       ORT: 0.600000 s  (= t*cos(theta))

Lengtecontractie (L0 = 1.0 m):
    Newton: 1.000000 m  (geen contractie)
       SRT: 0.600000 m  (= L0/gamma)
       ORT: 0.600000 m  (= L0*cos(theta))

Impuls (m0 = 1.0 kg):
    Newton: 2.398340e+08 kg*m/s  (= m0*v)
       SRT: 3.997233e+08 kg*m/s  (= gamma*m0*v)
       ORT: 3.997233e+08 kg*m/s  (= m0*c*tan(theta))

Kinetische energie:
    Newton: 2.876017e+16 J  (= 0.5*m0*v^2)
       SRT: 5.991701e+16 J  (= (gamma-1)*m0*c^2)
       ORT: 5.991701e+16 J  (= (1/cos(theta)-1)*m0*c^2)

Verificatie SRT = ORT:
  Tijddilatatie:     verschil = 1.11e-16
  Lengtecontractie:  verschil = 1.11e-16
  Impuls:            verschil = 5.96e-08
  Kinetische energie: verschil = 1.60e+01
  SRT en ORT geven identieke resultaten!

Hoofdstuk 7 & 8 – Modelvergelijking: Newton vs Einstein (SRT) vs ORT#

Hier een vergelijking van verschillende aspecten in deze drie modellen:

Aspect

Newton

Einstein (SRT)

ORT

Tijddilatatie

Geen

\( au = t/gamma\)

\( au = tcos heta\)

Lengtecontractie

Geen

= L_0/gamma$

= L_0 cos heta$

Snelheidsoptelling

+ v_2$

Relativistisch (rapiditeiten additief)

Idem

Massa

Constant $

\(gamma m_0\) (relativistisch)

/cos heta$ uit Zijn

= mc^2$

Afgeleid (impulsbehoud + Lorentz)

Afgeleid (Invariantie van Zijn)

Afleidingsketen SRT vs ORT#

Stap

SRT

ORT

Startpunt

Relativiteitsprincipe + $ = constant

Alles beweegt met $ + Invariantie van Zijn

Geeft

Lorentz-transformaties

Snelheidsbol

Plus

Impulsbehoud invariant onder Lorentz

cdot v_t = m_0 c$

Geeft

= gamma m_0 v$

{rel} = m_0/cos heta$

Via

Arbeid-integraal

Arbeid-integraal

Geeft

= gamma m_0 c^2$

= m_0 c^2/cos heta$

Einstein (SRT) en ORT geven identieke numerieke resultaten — ze beschrijven dezelfde fysica. Het verschil zit in de interpretatie: ORT maakt de geometrische structuur zichtbaar via de hoek \( heta\), en leidt /cos heta\( en = mc^2\) af vanuit Invariantie van Zijn. Newton wijkt fundamenteel af bij hoge snelheden.

# Modelvergelijking: tijddilatatie bij verschillende snelheden
betas_compare = [0.1, 0.3, 0.5, 0.8, 0.9, 0.99]
labels = [f'{b}c' for b in betas_compare]

newton_td = [1.0 for _ in betas_compare]  # Newton: geen dilatatie
einstein_td = []
spacetime_td = []

for beta in betas_compare:
    v = beta * C
    stv = ORT.from_beta(beta)
    einstein_td.append(EinsteinModel.proper_time(1.0, v))
    spacetime_td.append(stv.proper_time(1.0))

values = {
    'labels': labels,
    'newton': newton_td,
    'einstein': einstein_td,
    'spacetime': spacetime_td
}
model_comparison_bar('Tijddilatatie (tau/t)', values, lang='nl')
pass
_images/60af3c08784f323f430f556cd6431c27d10c464d7db1f0aa3fb8c1edcba88bac.png
# Gedetailleerde vergelijkingstabel
m0 = 1.0  # kg
print(f"{'beta':>6} | {'Newton tau':>12} {'Einstein tau':>14} {'ORT tau':>14} | "
      f"{'Newton p':>14} {'Einstein p':>14} {'ORT p':>14}")
print("-" * 100)

for beta in [0.1, 0.3, 0.5, 0.8, 0.9, 0.95, 0.99]:
    v = beta * C
    stv = ORT.from_beta(beta)
    
    # Eigentijd voor 1 seconde coordinaattijd
    tau_n = NewtonModel.proper_time(1.0, v)
    tau_e = EinsteinModel.proper_time(1.0, v)
    tau_st = stv.proper_time(1.0)
    
    # Impuls
    p_n = NewtonModel.momentum(m0, v)
    p_e = EinsteinModel.momentum(m0, v)
    p_st = stv.momentum(m0)
    
    print(f"{beta:6.2f} | {tau_n:12.6f} {tau_e:14.6f} {tau_st:14.6f} | "
          f"{p_n:14.6e} {p_e:14.6e} {p_st:14.6e}")

print("\nEinstein (SRT) en ORT geven identieke resultaten.")
print("Newton wijkt steeds verder af bij hogere snelheden.")
  beta |   Newton tau   Einstein tau        ORT tau |       Newton p     Einstein p          ORT p
----------------------------------------------------------------------------------------------------
  0.10 |     1.000000       0.994987       0.994987 |   2.997925e+07   3.013028e+07   3.013028e+07
  0.30 |     1.000000       0.953939       0.953939 |   8.993774e+07   9.428037e+07   9.428037e+07
  0.50 |     1.000000       0.866025       0.866025 |   1.498962e+08   1.730853e+08   1.730853e+08
  0.80 |     1.000000       0.600000       0.600000 |   2.398340e+08   3.997233e+08   3.997233e+08
  0.90 |     1.000000       0.435890       0.435890 |   2.698132e+08   6.189940e+08   6.189940e+08
  0.95 |     1.000000       0.312250       0.312250 |   2.848028e+08   9.120990e+08   9.120990e+08
  0.99 |     1.000000       0.141067       0.141067 |   2.967945e+08   2.103921e+09   2.103921e+09

Einstein (SRT) en ORT geven identieke resultaten.
Newton wijkt steeds verder af bij hogere snelheden.

Hoofdstuk 9 – Gedachte-experimenten#

9.1 De Tweelingparadox#

Een tweeling: Alice blijft op aarde, Bob reist met \(v = 0.8c\) naar een ster op 10 lichtjaar afstand en terug.

9.2 Muon-verval#

Muonen ontstaan in de bovenste atmosfeer (ca. 10 km hoogte) en bewegen met \(v \approx 0.998c\). Zonder relativiteit zouden ze in ~2.2 \(\mu\)s vervallen en slechts ~660 m afleggen.

9.3 GPS-correctie (SRT-deel)#

GPS-satellieten bewegen met ~3.87 km/s. De speciale relativiteit veroorzaakt een tijdvertraging.

# 9.1 Tweelingparadox
print("=== Tweelingparadox ===")
beta_bob = 0.8
distance_ly = 10  # lichtjaar enkele reis
stv_bob = ORT.from_beta(beta_bob)
theta_bob = math.degrees(stv_bob.theta)

# Reistijd voor Alice (op aarde)
t_alice_one_way = distance_ly / beta_bob
t_alice_total = 2 * t_alice_one_way

# ORT: eigentijd Bob = t * cos(theta)
t_bob_ort = t_alice_total * math.cos(stv_bob.theta)

# SRT: eigentijd Bob = t / gamma
t_bob_srt = t_alice_total / stv_bob.gamma

print(f"  Bob reist met {beta_bob}c naar een ster op {distance_ly} lichtjaar")
print(f"  theta = {theta_bob:.2f} graden")
print()
print(f"  Alice (aarde): {t_alice_total:.2f} jaar")
print(f"  Bob (ORT):  tau = t * cos(theta) = {t_alice_total:.2f} * cos({theta_bob:.2f}) = {t_bob_ort:.2f} jaar")
print(f"  Bob (SRT):  tau = t / gamma     = {t_alice_total:.2f} / {stv_bob.gamma:.4f}    = {t_bob_srt:.2f} jaar")
print(f"  Verschil ORT vs SRT: {abs(t_bob_ort - t_bob_srt):.2e} jaar (identiek)")
print()
print(f"  Bob is {t_alice_total - t_bob_ort:.2f} jaar jonger bij terugkomst")
=== Tweelingparadox ===
  Bob reist met 0.8c naar een ster op 10 lichtjaar
  theta = 53.13 graden

  Alice (aarde): 25.00 jaar
  Bob (ORT):  tau = t * cos(theta) = 25.00 * cos(53.13) = 15.00 jaar
  Bob (SRT):  tau = t / gamma     = 25.00 / 1.6667    = 15.00 jaar
  Verschil ORT vs SRT: 0.00e+00 jaar (identiek)

  Bob is 10.00 jaar jonger bij terugkomst
# 9.2 Muon-verval
print("=== Muon-verval ===")
beta_muon = 0.998
tau_muon = 2.2e-6  # rustlevensduur in seconden
h_atmosphere = 10000  # hoogte in meter

stv_muon = ORT.from_beta(beta_muon)
theta_muon = math.degrees(stv_muon.theta)

# Zonder relativiteit
d_classical = beta_muon * C * tau_muon

# ORT: levensduur = tau / cos(theta)
t_ort = tau_muon / math.cos(stv_muon.theta)
d_ort = beta_muon * C * t_ort

# SRT: levensduur = tau * gamma
t_srt = tau_muon * stv_muon.gamma
d_srt = beta_muon * C * t_srt

print(f"  Muon snelheid: {beta_muon}c, theta = {theta_muon:.2f} graden")
print(f"  Rustlevensduur: {tau_muon*1e6:.1f} microseconde")
print()
print(f"  Zonder relativiteit:")
print(f"    Afstand = {d_classical:.0f} m ({d_classical/1000:.2f} km) -- bereikt de grond NIET")
print()
print(f"  ORT: levensduur = tau / cos(theta) = {t_ort*1e6:.1f} us")
ort_bereikt = "JA" if d_ort > h_atmosphere else "NEE"
print(f"    Afstand = {d_ort/1000:.1f} km -- bereikt de grond: {ort_bereikt}")
print()
print(f"  SRT: levensduur = tau * gamma      = {t_srt*1e6:.1f} us")
srt_bereikt = "JA" if d_srt > h_atmosphere else "NEE"
print(f"    Afstand = {d_srt/1000:.1f} km -- bereikt de grond: {srt_bereikt}")
print()
print(f"  Verschil ORT vs SRT: {abs(d_ort - d_srt):.2e} m (identiek)")
=== Muon-verval ===
  Muon snelheid: 0.998c, theta = 86.38 graden
  Rustlevensduur: 2.2 microseconde

  Zonder relativiteit:
    Afstand = 658 m (0.66 km) -- bereikt de grond NIET

  ORT: levensduur = tau / cos(theta) = 34.8 us
    Afstand = 10.4 km -- bereikt de grond: JA

  SRT: levensduur = tau * gamma      = 34.8 us
    Afstand = 10.4 km -- bereikt de grond: JA

  Verschil ORT vs SRT: 0.00e+00 m (identiek)
# 9.3 GPS SRT-correctie
print("=== GPS Speciale Relativiteit Correctie ===")
v_gps = 3870  # m/s (orbitale snelheid GPS-satelliet)
stv_gps = ORT.from_v(v_gps)
theta_gps = stv_gps.theta
seconds_per_day = 86400

# ORT: eigentijd = t * cos(theta)
tau_ort = seconds_per_day * math.cos(theta_gps)
delta_ort = seconds_per_day - tau_ort

# SRT: eigentijd = t / gamma
tau_srt = seconds_per_day / stv_gps.gamma
delta_srt = seconds_per_day - tau_srt

print(f"  Orbitale snelheid: {v_gps} m/s")
print(f"  theta = {math.degrees(theta_gps):.6f} graden")
print()
print(f"  ORT: tau = t * cos(theta)")
print(f"    Tijdvertraging per dag: {delta_ort*1e9:.2f} nanoseconde")
print()
print(f"  SRT: tau = t / gamma")
print(f"    Tijdvertraging per dag: {delta_srt*1e9:.2f} nanoseconde")
print()
print(f"  Verschil ORT vs SRT: {abs(delta_ort - delta_srt)*1e9:.4f} ns (identiek)")
print()
print(f"  De satellietklok loopt LANGZAMER door beweging (SRT).")
print(f"  (NB: ART geeft een VERSNELLING door minder zwaartekracht, die groter is.)")
=== GPS Speciale Relativiteit Correctie ===
  Orbitale snelheid: 3870 m/s
  theta = 0.000740 graden

  ORT: tau = t * cos(theta)
    Tijdvertraging per dag: 7198.86 nanoseconde

  SRT: tau = t / gamma
    Tijdvertraging per dag: 7198.86 nanoseconde

  Verschil ORT vs SRT: 0.0000 ns (identiek)

  De satellietklok loopt LANGZAMER door beweging (SRT).
  (NB: ART geeft een VERSNELLING door minder zwaartekracht, die groter is.)

Hoofdstuk 10 – Samenvatting en Beperkingen#

Wat het model beschrijft#

De ORT reproduceert de volledige speciale relativiteit vanuit de eerste twee principes: (1) alles beweegt met \(c\) door de 4D-ruimtetijd — tijd is een bewegingsrichting net als ruimte, en (2) Invariantie van Zijn (\(m \cdot v_t = m_0 \cdot c\)).

Overzicht formules#

Nr

Naam

ORT (\(\theta\))

SRT (\(\gamma, \beta\))

Beschrijving

(1)

Snelheidsnorm

\(v_r^2 + v_t^2 = c^2\)

Snelheidswet (ORT-principe 1)

(2)

Parametrisatie

\(v_r = c\sin\theta\), \(v_t = c\cos\theta\)

\(v_r = \beta c\)

Snelheidscomponenten

(5)

Tijddilatatie

\(d\tau/dt = \cos\theta\)

\(= 1/\gamma\)

Eigentijd vs coördinaattijd

(6)

Lorentz-factor

\(1/\cos\theta\)

\(\gamma = 1/\sqrt{1-\beta^2}\)

Definitie van \(\gamma\)

(7)

Totale energie

\(m_0 c^2/\cos\theta\)

\(\gamma m_0 c^2\)

Energie van een bewegend object

(8)

Kinetische energie

\((1/\cos\theta - 1)\,m_0 c^2\)

\((\gamma-1)\,m_0 c^2\)

Verschil met rustenergie

(9)

Impuls

\(m_0 c\tan\theta\)

\(\gamma m_0 v\)

Ruimtelijke impuls

(10)

Snelheidsoptelling

\((v_1+v_2)/(1+v_1 v_2/c^2)\)

idem

Optelling ruimtesnelheden

(11)

Rapiditeit

\(\text{artanh}(\sin\theta)\)

\(\text{artanh}(\beta)\)

Additieve snelheidsparameter

(12)

Zijn in de tijd

\(S_{tijd} = m_0 c\)

Invariantie van Zijn in de tijd (ORT-principe 2)

(13)

Energie-gevolg

\(E \cdot v_t = S_{tijd} \cdot c^2\)

Afgeleid uit (12) + (7)

(14)

Rel. massa

\(m_0/\cos\theta\)

\(\gamma m_0\)

Volgt uit Massa-Zijn

(15)

Arbeid-integraal

\(\int v\,dp = m_0 c^2(1/\cos\theta - 1)\)

\((\gamma-1)\,m_0 c^2\)

Afleiding van \(E = mc^2\) (uit Zijn)

(16)

Zijn in de ruimte

\(S_r = m_0 c\tan\theta\)

\(= p\)

Ruimtecomponent Zijn-vector (varieert)

(17)

Zijn in de tijd

\(S_t = m_0 c\)

Tijdcomponent Zijn-vector (invariant)

(18)

Zijn-grootte

\(m_0 c/\cos\theta\)

\(= E/c\)

Grootte Zijn-vector

(19)

Energie-impuls

\(E^2 = (pc)^2 + (m_0 c^2)^2\)

idem

Pythagoras op Zijn-vector

(20)

Simultaneiteit

\(\alpha = \arctan(\sin\theta)\)

\(\arctan(\beta)\)

Hellingshoek

(21)

Rel. gelijktijdigheid

\((\tan\theta/c)\,\Delta x\)

\(\gamma v \Delta x/c^2\)

Tijdverschil

(22)

Lorentz-transf.

\((x - c\sin\theta\cdot t)/\cos\theta\)

\(\gamma(x - vt)\)

Coördinaattransformatie

De afleidingsketen#

\[\boxed{\text{Invariantie van Zijn in de tijd}} \xrightarrow{m \cdot v_t = m_0 c} m_{rel} = \frac{m_0}{\cos\theta} \xrightarrow{\int v \, dp} E = \frac{m_0 c^2}{\cos\theta} \xrightarrow{\theta = 0} E_0 = m_0 c^2\]

Beperkingen#

  • Dit notebook behandelt alleen speciale relativiteit (ruimtetijd zonder zwaartekrachtsbronnen)

  • Zwaartekracht (kromme ruimtetijd) wordt behandeld in Notebook 02

  • Het model is beschrijvend: het geeft dezelfde voorspellingen als de SRT, maar biedt een alternatieve, geometrisch intuïtieve interpretatie

Opmerking over \(v_{tijd}\): De tijdsnelheid is even “echt” als de ruimtelijke snelheid — beide zijn componenten van dezelfde snelheidsvector door de ruimtetijd. Een waarnemer in rust ziet anderen (ook in rust) met één seconde per seconde door de tijd bewegen: dat is \(v_{tijd} = c\), direct waarneembaar.

Conclusie#

De ORT biedt een elegant en intuïtief kader voor speciale relativiteit. Alle formules volgen logisch uit de eerste twee principes. Het model is volledig voor SRT.