Čo nám mimozemšťania chceli povedať kruhmi v obilí alebo Schroedingerova rovnica inak

Čo nám mimozemšťania chceli povedať kruhmi v obilí alebo Schroedingerova rovnica inak

https://hrubos.tech/blogy/content/images/20260715172313-Snímka obrazovky 2026-07-15 o 16.41.59.png

Pozerám sa na rotáciu v múke: https://x.com/yan_qing35527/status/2077392064275521583 a zaujal ma jej pohyb. Ihneď som si uvedomil, čo sa stane v simulácií, ak sa mení energia na fotón alebo prečo musí platiť Schroedingerova aj Einsteinova rovnica, ukážem: Foton vznika

Majme takýto zámysel: Rotujem guličku na šnúrke po hladine vody a spomaľujem. Otázka je: Čo sa stane vtedy, ak spomalím na rýchlosť, keď už gulička nekĺže, ale spraví prvý spomalený hop na hladine?

No to je práve moment, kedy sa čistá energia zmení na fotón. Veď to sa práve Schroedinger pýta: Čo sa deje s mojou mačkou, ak v krabici, kde je nemňavká? Vznikla práve alebo zanikla práve?

A v tomto momente si všimnite plochu kruhu aka fotónu, je štvrtinová však? A kde to vidíme? Áno na zrkadle. Máme vetu, ktorá hovorí, že so vzdialenosťou ku zrkadlu sa mení intenzita odrazeného svetla na druhú menej.

Takže čo sa deje pri zrode fotónu? Má polovičnú energiu, a prečo? Lebo ten kruh je vlna a ešte ho treba rozpoliť. Teda pri cca 0.65J je to 0.17m2 Prečo nie teda polovica? Lebo simulácia potvrdila nielen Schroedingera, ale aj Einsteinovu kontrakciu dĺžok. A ako to teda kmitá? No polovične/dvojnásobne, lebo nie je to kruh, ale sin(x) polkruh.

Celá simulácia vypadá a môžete si ju pauzovať: https://hrubos.tech/simulacie/zverokruh.mp4

Všimli ste si aj počiatočný a konečný moment? Čo potvrdzuje? Napoviem: Počiatok Energia 5J, koniec plocha 80m2. Koľko je sqrt(80)? == 4sqrt(5) Prečo? Nesmeruje nás toto na mc^2 pre energie svetla? Počiatok a koniec:

pociatok mc na druhu

koniec mc na druhu

A prečo hovorím o Schroedingerovej rovnici a Quantách? Toto je ten vtip za 1 na skúške: Čo sa stane pri Energii 0.003J? Nie náhodou to, čo tvrdí Ervín a to že prestáva platiť Einstein?

Teda? Ak má kvantový stav 0J stáva sa okamžitým a dochádza ku kvantovému previazaniu? A aká je maximálna rýchlosť kvanta? Takáto:

quantove previazanie

Ba čo viac, kde vidíme konštantu 1.3? Nie to náhodou Snellov zákon? ^^^

Simulácia je ako vždy z mojich zámyslov a príkazov pre GPT: Ďakujem:

##############################################################
# water_string_sim.jl
#
# Plastová gulička na šnúrke rotujúca po hladine vody
# Realtime simulácia v Julia + GLMakie
#
# Časť 1
##############################################################

##############################################################
# Inštalácia balíkov (iba prvé spustenie)
##############################################################

import Pkg

packages = [
    "GLMakie",
    "GeometryBasics",
    "Colors",
    "LinearAlgebra",
    "Statistics"
]

for p in packages
    try
        Base.require(Symbol(p))
    catch
        println("Installing $p")
        Pkg.add(p)
    end
end

using GLMakie
using GeometryBasics
using Colors
using LinearAlgebra
using Statistics

##############################################################
# Parametre simulácie
##############################################################

const FPS = 60
const dt = 30/FPS

const RopeLength = 1.0
const BallRadius = 0.04

const BallMass = 0.15

const WaterRadius = 2.8

const WaveSpeed = 0.65

const WaveDecay = 0.985

const FrictionLimit = 0.55

const BounceEnergyLoss = 0.75

##############################################################
# Rotácia
##############################################################

ω0 = 8.0
ω = Observable(ω0)

θ = Observable(0.0)

##############################################################
# Energia
##############################################################

kineticEnergy = Observable(0.0)

##############################################################
# Súčet plôch kruhov
##############################################################

totalArea = Observable(0.0)

##############################################################
# Počet kruhov
##############################################################

waveCount = Observable(0)

##############################################################
# Typ jednej vlny
##############################################################

mutable struct Wave

    x::Float64
    y::Float64

    radius::Float64

    amplitude::Float64

end

##############################################################
# Pole všetkých vĺn
##############################################################

waves = Wave[]

##############################################################
# Náhodný stick-slip model
##############################################################

function friction_event(speed)

    p = clamp(
        1.0 - speed/6,
        0,
        0.95
    )

    rand() < p

end

##############################################################
# Aktualizácia energie
##############################################################

function update_energy!()

    v = RopeLength * ω[]

    kineticEnergy[] =
        0.5 *
        BallMass *
        v^2

end

##############################################################
# Aktualizácia plôch
##############################################################

function update_total_area!()

    s = 0.0

    for w in waves

        s += π * w.radius^2

    end

    totalArea[] = s

end

##############################################################
# Pridanie novej vlny
##############################################################

function add_wave!(x,y)

    push!(waves,
        Wave(
            x,
            y,
            0.02,
            1.0
        )
    )

    waveCount[] = length(waves)

end

##############################################################
# Posun všetkých kruhov
##############################################################

function update_waves!()

    keep = Wave[]

    for w in waves

        w.radius += WaveSpeed*dt

        w.amplitude *= WaveDecay

        if w.amplitude > 0.02

            push!(keep,w)

        end

    end

    empty!(waves)

    append!(waves,keep)

    waveCount[] = length(waves)

    update_total_area!()

end

##############################################################
# Makie Figure
##############################################################

fig = Figure(
    resolution = (1400,800),
    fontsize = 22
)

ax = Axis(
    fig[1,1],
    aspect = DataAspect(),
    title = "Rotácia plastovej guličky po hladine"
)

limits!(
    ax,
    -WaterRadius,
    WaterRadius,
    -WaterRadius,
    WaterRadius
)

limits!(ax,-1.4,1.4,-1.4,1.4)

##############################################################
# Pravý informačný panel
##############################################################

panel = GridLayout()

fig[1,2] = panel
colsize!(fig.layout, 2, Fixed(220))

Label(
    panel[1,1],
    lift(x->"Kinetická energia\n$(round(x,digits=3)) J",
        kineticEnergy)
)

Label(
    panel[2,1],
    lift(x->"Súčet plôch kruhov\n$(round(x,digits=3)) m²",
        totalArea)
)

Label(
    panel[3,1],
    lift(x->"Počet kruhov\n$x",
        waveCount)
)

Label(
    panel[4,1],
    lift(x->"ω = $(round(x,digits=2)) rad/s",
        ω)
)

##############################################################
# Hladina vody
##############################################################

waterCircle = Circle(Point2f(0,0),WaterRadius)

poly!(
    ax,
    waterCircle,
    color=RGBAf(0.82,0.93,1,0.45)
)

##############################################################
# ČASŤ 2
# Animácia, kreslenie guličky, šnúrky a kruhov
##############################################################

##############################################################
# Pozícia guličky
##############################################################

ballPos = Observable(Point2f(
    RopeLength*cos(θ[]),
    RopeLength*sin(θ[])
))

##############################################################
# Stred rotácie
##############################################################

center = Point2f(0,0)

##############################################################
# Šnúrka
##############################################################

ropeLine = Observable([
    center,
    ballPos[]
])

lines!(
    ax,
    ropeLine,
    linewidth = 3,
    color = :black
)

##############################################################
# Gulička
##############################################################

ballPlot = scatter!(
    ax,
    lift(p->[p], ballPos),
    markersize = 22,
    color = RGBf(1.0,0.25,0.25)
)

##############################################################
# Stopa pohybu
##############################################################

trail = Point2f[]

trailObs = Observable(copy(trail))

lines!(
    ax,
    trailObs,
    linewidth = 1.5,
    color = RGBAf(0.8,0.2,0.2,0.35)
)

const TrailLength = 500

##############################################################
# Grafické objekty kruhov
##############################################################

wavePlots = Poly[]

##############################################################
# Odstránenie starých kruhov z osi
##############################################################

function clear_waveplots!()

    for p in wavePlots
        delete!(ax.scene, p)
    end

    empty!(wavePlots)

end

##############################################################
# Vykreslenie všetkých kruhov
##############################################################

function redraw_waves!()

    clear_waveplots!()

    for w in waves

        c = Circle(
            Point2f(w.x,w.y),
            w.radius
        )

        plt = poly!(
            ax,
            c,
            color = RGBAf(
                0,
                0.3,
                1,
                0.03*w.amplitude
            ),
            strokecolor = RGBAf(
                0,
                0,
                1,
                w.amplitude
            ),
            strokewidth = 2
        )

        push!(wavePlots,plt)

    end

end

##############################################################
# Spomaľovanie rotácie
##############################################################

const AngularDeceleration = 0.015

##############################################################
# Poskok
##############################################################

bounceHeight = 0.0

##############################################################
# Hlavná aktualizácia simulácie
##############################################################

function simulation_step!()

    ##########################################################
    # spomaľovanie
    ##########################################################

    ω[] = max(
        0,
        ω[] - AngularDeceleration
    )

    ##########################################################
    # nový uhol
    ##########################################################

    θ[] += ω[] * dt

    ##########################################################
    # nová poloha
    ##########################################################

    x = RopeLength*cos(θ[])
    y = RopeLength*sin(θ[])

    ##########################################################
    # stick-slip
    ##########################################################

    speed = RopeLength * ω[]

    if friction_event(speed)

        add_wave!(x,y)

        bounceHeight =
            rand()*0.02

        ω[] *= BounceEnergyLoss

    end

    ##########################################################
    # aktualizácia guličky
    ##########################################################

    ballPos[] = Point2f(
        x,
        y
    )

    ropeLine[] = [
        center,
        ballPos[]
    ]

    ##########################################################
    # stopa
    ##########################################################

    push!(
        trail,
        ballPos[]
    )

    if length(trail) > TrailLength
        popfirst!(trail)
    end

    trailObs[] = copy(trail)

    ##########################################################
    # energia
    ##########################################################

    update_energy!()

    ##########################################################
    # vlny
    ##########################################################

    update_waves!()

    redraw_waves!()

end

##############################################################
# Úvodná energia
##############################################################

update_energy!()

##############################################################
# Text v strede
##############################################################

text!(
    ax,
    "STRED",
    position=(0,0),
    align=(:center,:center),
    fontsize=18,
    color=:black
)

##############################################################
# Animácia
##############################################################


display(fig)
posi=0
length1=300
record(fig, "zverokruh.mp4", 1:length1; framerate=5) do frame

    simulation_step!()
    global posi+=1
    println("Rendered out of",length1," => ",posi)
end

#while true

#    simulation_step!()

#    sleep(dt)

#end



Author: AarNoma

The first Slovak cyborg 1 system

Comments “Čo nám mimozemšťania chceli povedať kruhmi v obilí alebo Schroedingerova rovnica inak”