Komentár: Tak už viete, prečo sú na Liptovskej Mare víry a zabili sa tam ľudia? Je tam elektráreň. Nakreslím: Platí vektorový súčin vektorov a pravidlo pravej ruky

Komentár: Tak už viete, prečo sú na Liptovskej Mare víry a zabili sa tam ľudia? Je tam elektráreň. Nakreslím: Platí vektorový súčin vektorov a pravidlo pravej ruky

https://hrubos.tech/blogy/content/images/20260321195524-battery-hack2.png

https://hrubos.tech/blogy/content/images/20260321195524-battery-hack2.png

Takže ako by mala byť uložená turbína na Liptovskej Mare? Tak, aby bila do zeme, nie do vody, domnievam sa že takto zvislo a voda ide zboku ako vietor:

https://hrubos.tech/blogy/content/images/20260322033226-turbina.png

https://hrubos.tech/blogy/content/images/20260322033226-turbina.png

https://hrubos.tech/blogy/content/images/20260321195552-battery-hack3.png

https://hrubos.tech/blogy/content/images/20260321195552-battery-hack3.png

using Pkg
Pkg.add(["Plots", "LinearAlgebra"])

using LinearAlgebra
using Plots

# Parametre simulácie
dt = 0.01
steps = 500

# Častica (plazma)
mutable struct Particle
    pos::Vector{Float64}
    vel::Vector{Float64}
    q::Float64
    m::Float64
end

# Magnetické pole dvoch rovnakých pólov (zjednodušený model)
function magnetic_field(pos)
    # Pozície magnetov (rovnaké póly)
    m1 = [-1.0, 0.0]
    m2 = [1.0, 0.0]

    # Intenzita poľa (heuristická)
    function B_from_magnet(p, m)
        r = p - m
        dist = norm(r) + 1e-5
        return (1 / dist^2) * [-r[2], r[1]]  # rotované pole (kolmé)
    end

    return B_from_magnet(pos, m1) + B_from_magnet(pos, m2)
end

# Lorentzova sila (2D verzia)
function lorentz_force(p::Particle)
    B = magnetic_field(p.pos)
    v = p.vel
    # v × B v 2D (rozšírené do 3D)
    return p.q * [v[2]*0 - 0*B[2], 0*B[1] - v[1]*0] + p.q * [v[2]*B[1] - v[1]*B[2], v[1]*B[2] - v[2]*B[1]]
end

# Inicializácia častíc
particles = [Particle(rand(2) .* 4 .- 2, rand(2) .* 2 .- 1, 1.0, 1.0) for _ in 1:50]

# Uloženie trajektórií
trajectories = [Vector{Vector{Float64}}() for _ in particles]

# Simulácia
for step in 1:steps
    for (i, p) in enumerate(particles)
        F = lorentz_force(p)
        a = F / p.m

        # Eulerova integrácia
        p.vel += a * dt
        p.pos += p.vel * dt

        push!(trajectories[i], copy(p.pos))
    end
end

# Vizualizácia
plt = plot(title="Simulácia plazmy medzi rovnakými pólmi magnetov", legend=false)

for traj in trajectories
    xs = [p[1] for p in traj]
    ys = [p[2] for p in traj]
    plot!(plt, xs, ys)
end

display(plt)
readline()

using Pkg
Pkg.add(["Plots", "LinearAlgebra"])

using LinearAlgebra
using Plots

dt = 0.01
steps = 500

mutable struct Particle
    pos::Vector{Float64}  # 2D pozícia
    vel::Vector{Float64}  # 3D rýchlosť (kvôli v × B)
    q::Float64
    m::Float64
end

# Magnetické pole (stále v rovine XY, smer Z)
function magnetic_field(pos)
    m1 = [-1.0, 0.0]
    m2 = [1.0, 0.0]

    function B_from_magnet(p, m)
        r = p - m
        dist = norm(r) + 1e-5
        strength = 1 / dist^2
        return [0.0, 0.0, strength]  # pole kolmo na rovinu (Z)
    end

    return B_from_magnet(pos, m1) + B_from_magnet(pos, m2)
end

# Lorentzova sila F = q (v × B)
function lorentz_force(p::Particle)
    v3 = p.vel
    B3 = magnetic_field(p.pos)
    return p.q * cross(v3, B3)
end

# Inicializácia častíc
particles = [
    Particle(rand(2) .* 4 .- 2,
             [rand()*2-1, rand()*2-1, 0.0],
             1.0, 1.0)
    for _ in 1:50
]

trajectories = [Vector{Vector{Float64}}() for _ in particles]
z_components = [Float64[] for _ in particles]

# Simulácia
for step in 1:steps
    for (i, p) in enumerate(particles)
        F = lorentz_force(p)
        a = F / p.m

        p.vel += a * dt
        p.pos += p.vel[1:2] * dt  # len XY pohyb

        push!(trajectories[i], copy(p.pos))
        push!(z_components[i], F[3])  # kolmá zložka (v × B)
    end
end

# --- Vizualizácia trajektórií ---
plt1 = plot(title="Trajektórie častíc (XY rovina)", legend=false)
for traj in trajectories
    xs = [p[1] for p in traj]
    ys = [p[2] for p in traj]
    plot!(plt1, xs, ys)
end

# --- Vizualizácia kolmého smeru (Z zložka sily) ---
plt2 = plot(title="Kolmá zložka sily (v × B)_z", legend=false)
for z in z_components
    plot!(plt2, z)
end

p=plot(plt1, plt2, layout=(1,2))
display(p)
readline()


Author: AarNoma

The first Slovak cyborg 1 system

Comments “Komentár: Tak už viete, prečo sú na Liptovskej Mare víry a zabili sa tam ľudia? Je tam elektráreň. Nakreslím: Platí vektorový súčin vektorov a pravidlo pravej ruky”