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")

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:”