Tak v Japonsku bolo zemetrasenie 7.4 magnitúdy. Koník však na videu znížil ťažisko a poskakoval. Prečo? Pozrime si simuláciu, čo sa mu odohrávalo v mozgu:

Tak v Japonsku bolo zemetrasenie 7.4 magnitúdy. Koník však na videu znížil ťažisko a poskakoval. Prečo? Pozrime si simuláciu, čo sa mu odohrávalo v mozgu:

Napadla ma táto simulácia: https://hrubos.tech/blogy/content/images/20260422111349-animacia_skladanie2.gif || https://hrubos.tech/repository/animacia_skladanie2.mp4 Keď som videl toto video https://x.com/haberinolsun_x/status/2046624204787785859

Jasne vidieť, že koník si chráni človeka alebo žriebä, poskakovaním počas zemetrasenia. Ale, čo mu to v mozgu pripomína, vidieť na zelenej vektorovej skladačke dvoch pohybov, ktoré ma napadli a to vodorovný modrý a červený hop ako vidieť na animácií.

Zdá sa, že koník udržal rovnováhu prirodzeným cvalom a jeho simuláciou v mozgu, na toto prišiel ^^^

# ==========================================
# animacia_kruhy_skladanie.jl
# MP4 animácia:
# modré = zotrvačnosť
# červené = hopkanie
# zelené = vektorový súčet pohybov (shadow kruhy)
# ==========================================

using CairoMakie

# -----------------------------
# INŠTALÁCIA (ak treba)
# using Pkg
# Pkg.add("CairoMakie")
# -----------------------------
using Pkg
Pkg.add("CairoMakie")
fps = 60
T = 12
N = fps*T

platform_y = 0.0
platform_w = 16
platform_h = 0.4

# podložka
A = 2.0
period = 2.0

# kruhy
r = 0.35
count = 5

# zotrvačnosť
lag = 0.15

# hopkanie
g = 9.81
bounce_h = 1.6
bounce_period = sqrt(2*bounce_h/g)*2

# -----------------------------
# FUNKCIE
# -----------------------------

function triangle_wave(t, A, P)
    x = mod(t, P) / P
    if x < 0.25
        return 4A*x
    elseif x < 0.75
        return 2A - 4A*x
    else
        return -4A + 4A*x
    end
end

function bounce_y(t, phase)
    tt = mod(t + phase, bounce_period)
    v0 = sqrt(2g*bounce_h)
    y = v0*tt - 0.5*g*tt^2
    return max(y, 0)
end

# -----------------------------
# GRAFIKA
# -----------------------------
fig = Figure(resolution=(1500, 760), fontsize=22)

ax = Axis(fig[1,1],
    limits=(-10, 10, -1, 8),
    title="Zemetrasenie a kôň zníži ťažisko a hopká, mozgu prirodzený cval? Udrží rovnováhu?",
)

hidespines!(ax)
hidedecorations!(ax)

# -----------------------------
# ANIMÁCIA
# -----------------------------
record(fig, "animacia_skladanie2.gif", 1:N, framerate=fps) do i

    empty!(ax)

    t = (i-1)/fps
    xp = triangle_wave(t, A, period)

    # podložka
    poly!(ax,
        Rect(xp-platform_w/2, platform_y-platform_h/2,
             platform_w, platform_h),
        color=:gray70
    )

    for k in 1:count

        # -------------------------
        # MODRÝ kruh (vľavo)
        # -------------------------
        baseL = -6 + (k-1)*1.3
        delayed = triangle_wave(max(t-lag*k,0), A, period)

        xb = baseL + delayed
        yb = platform_y + r

        scatter!(ax, [xb], [yb],
            markersize=28,
            color=:dodgerblue
        )

        # -------------------------
        # ČERVENÝ kruh (vpravo)
        # -------------------------
        baseR = 1 + (k-1)*1.3

        xr = baseR + xp
        yr = platform_y + r + bounce_y(t,0.15k)

        scatter!(ax, [xr], [yr],
            markersize=28,
            color=:orangered
        )

        # -------------------------
        # ZELENÝ SHADOW kruh
        # vektorový súčet pohybov
        # -------------------------
        dx_blue = delayed
        dx_red  = xp
        dy_red  = bounce_y(t,0.15k)

        xg = -2.5 + (k-1)*1.5 + dx_blue + dx_red
        yg = 3.0 + dy_red

        scatter!(ax, [xg], [yg],
            markersize=42,
            color=(:limegreen, 0.45),
            strokewidth=2,
            strokecolor=:green
        )

        # šípky zložiek
        arrows!(ax,
            [xg-dx_red], [yg-dy_red],
            [dx_red], [dy_red],
            linewidth=2
        )

    end

    text!(ax, -8.8, 7.0,
        text="Modré: zotrvačnosť",
        color=:dodgerblue
    )

    text!(ax, 1.0, 7.0,
        text="Červené: hopkanie",
        color=:orangered
    )

    text!(ax, -2.5, 7.0,
        text="Zelené: vektorový súčet",
        color=:green
    )

end

println("Hotovo: animacia_skladanie2.gif")


Author: AarNoma

The first Slovak cyborg 1 system

Comments “Tak v Japonsku bolo zemetrasenie 7.4 magnitúdy. Koník však na videu znížil ťažisko a poskakoval. Prečo? Pozrime si simuláciu, čo sa mu odohrávalo v mozgu:”