Dokážeme z výkonov solárneho panelu určiť po akej dráhe sa pohybuje zem voči slnku? Poďme na to:

Dokážeme z výkonov solárneho panelu určiť po akej dráhe sa pohybuje zem voči slnku? Poďme na to:

A tak vidíme, že elypsa zeme voči slnku sa vychýli o cca 20% podľa dodanej energie na solax paneli z cloud dát ^^^ Ono, ak by sa nám vo vesmíre pokazil gyroskop, nepotrebujeme ho, metamorf sajborga ihneď po zobudení z kryo spánku prikáže vytasiť solárne panely lode a určiť trajektóriu okolo hmotného telesa ;)

Samozrejme všimnite si okrem elypsy aj špirálu, veď v apogeu a perigeu sa musia s inými pohybmi kolmými na rovinu skladať bočné odstredivky:

charka solax

charka solax2

charka solax3

using Pkg
Pkg.add("Plots")
Pkg.add("Statistics")
Pkg.add("FFMPEG")   # dôležité pre mp4

using Plots
using Statistics

# Dáta
x = [23.75,23.48,23.20,22.90,22.62,22.49,22.31,22.04,21.74,21.46,
     21.17,20.90,20.76,20.56,20.28,19.99,19.70,19.41,19.09,18.80]

y = [34.16,34.12,34.09,34.06,34.03,34.01,33.98,33.95,33.93,33.74,
     33.55,33.36,33.28,33.06,32.75,32.47,32.19,31.92,31.65,31.35]

n = length(x)

# Referencia
y_ref = pi/4 + 20.77
dy = y .- y_ref

# Uhol
θ = range(0, 2π, length=n+1)[1:end-1]

# Normalizácia odchýlky
r = 1 .+ dy ./ maximum(abs.(dy))

# Súradnice
xs = r .* cos.(θ)
ys = r .* sin.(θ)

# Farby
colors = [dy[i] > 0 ? :red : :blue for i in 1:n]

# Referenčný kruh
circle_x = cos.(θ)
circle_y = sin.(θ)

# 🎬 Animácia
anim = @animate for k in 1:n
    plot(circle_x, circle_y,
        label="referenčný kruh",
        xlim=(-2,2), ylim=(-2,2),
        legend=:topright
    )

    scatter!(xs[1:k], ys[1:k],
        color=colors[1:k],
        markersize=6,
        label="body"
    )

    for i in 1:k
        annotate!(xs[i], ys[i], text(round(dy[i], digits=2), 8))
    end
end

# 💾 Uloženie do MP4
mp4(anim, "vychylky.gif", fps=5)

println("Video uložené ako vychylky.mp4")
println("Stlač Enter pre ukončenie...")
readline()
using Pkg
Pkg.add("Plots")
Pkg.add("Statistics")
Pkg.add("FFMPEG")

using Plots
using Statistics

# Dáta
x = [23.75,23.48,23.20,22.90,22.62,22.49,22.31,22.04,21.74,21.46,
     21.17,20.90,20.76,20.56,20.28,19.99,19.70,19.41,19.09,18.80]

y = [34.16,34.12,34.09,34.06,34.03,34.01,33.98,33.95,33.93,33.74,
     33.55,33.36,33.28,33.06,32.75,32.47,32.19,31.92,31.65,31.35]

n = length(x)

# Referencia
y_ref = pi/4 + 20.77
dy = y .- y_ref

# Uhol
θ = range(0, 2π, length=n+1)[1:end-1]

# Normalizácia
norm = maximum(abs.(dy))
r = 1 .+ dy ./ norm

# Súradnice bodov
xs = r .* cos.(θ)
ys = r .* sin.(θ)

# Referenčný kruh
circle_x = cos.(θ)
circle_y = sin.(θ)

# Farby
colors = [dy[i] > 0 ? :red : :blue for i in 1:n]

# 🎬 Animácia
anim = @animate for frame in 1:60

    plot(circle_x, circle_y,
        label="referenčný kruh",
        xlim=(-2,2), ylim=(-2,2),
        legend=false
    )

    for i in 1:n
        # Pulzovanie (sinus podľa času + veľkosť odchýlky)
        pulse = 6 + 6 * abs(dy[i])/norm * abs(sin(0.2 * frame))

        # Referenčný bod na kruhu
        x0 = cos(θ[i])
        y0 = sin(θ[i])

        # Spojnica
        plot!([x0, xs[i]], [y0, ys[i]],
            linewidth=1,
            color=:gray,
            label=false
        )

        # Bod
        scatter!([xs[i]], [ys[i]],
            color=colors[i],
            markersize=pulse,
            label=false
        )

        # Text (odchýlka)
        annotate!(xs[i], ys[i],
            text(round(dy[i], digits=2), 8)
        )
    end
end

# Uloženie
mp4(anim, "vychylky_pulzovanie.gif", fps=10)

println("Hotovo: vychylky_pulzovanie.mp4")
println("Stlač Enter pre ukončenie...")
readline()
using Pkg
Pkg.add("Plots")
Pkg.add("Statistics")
Pkg.add("FFMPEG")

using Plots
using Statistics

# Dáta
x = [23.75,23.48,23.20,22.90,22.62,22.49,22.31,22.04,21.74,21.46,
     21.17,20.90,20.76,20.56,20.28,19.99,19.70,19.41,19.09,18.80]

y = [34.16,34.12,34.09,34.06,34.03,34.01,33.98,33.95,33.93,33.74,
     33.55,33.36,33.28,33.06,32.75,32.47,32.19,31.92,31.65,31.35]

n = length(x)

# Referencia
y_ref = pi/4 + 20.77
dy = y .- y_ref

# Uhol
θ = range(0, 2π, length=n+1)[1:end-1]

# Normalizácia
norm = maximum(abs.(dy))
r = 1 .+ dy ./ norm

# Súradnice
xs = r .* cos.(θ)
ys = r .* sin.(θ)

# Referenčný kruh
circle_x = cos.(θ)
circle_y = sin.(θ)

# Farby
colors = [dy[i] > 0 ? :red : :blue for i in 1:n]

# 🎬 Animácia
anim = @animate for frame in 1:80

    plot(circle_x, circle_y,
        xlim=(-2,2), ylim=(-2,2),
        legend=false
    )

    for i in 1:n
        # vek bodu (ako dávno bol "aktivovaný")
        age = frame - i*3

        if age > 0
            # fading (0 → neviditeľný, 1 → plný)
            alpha = clamp(1 - age/30, 0, 1)

            # pulzovanie
            pulse = 6 + 6 * abs(dy[i])/norm * abs(sin(0.2 * frame))

            # referenčný bod
            x0 = cos(θ[i])
            y0 = sin(θ[i])

            # spojnice (tiež fading)
            plot!([x0, xs[i]], [y0, ys[i]],
                color=:gray,
                alpha=alpha,
                linewidth=1
            )

            # bod
            scatter!([xs[i]], [ys[i]],
                color=colors[i],
                markersize=pulse,
                alpha=alpha
            )

            # text (mizne tiež)
            if alpha > 0.2
                annotate!(xs[i], ys[i],
                    text(round(dy[i], digits=2), 8)
                )
            end
        end
    end
end

# uloženie
mp4(anim, "vychylky_fading.gif", fps=10)

println("Hotovo: vychylky_fading.gif")
println("Stlač Enter pre ukončenie...")
readline()
using Pkg
Pkg.add("Plots")
Pkg.add("Statistics")
Pkg.add("FFMPEG")

using Plots
using Statistics

# Dáta
x = [23.75,23.48,23.20,22.90,22.62,22.49,22.31,22.04,21.74,21.46,
     21.17,20.90,20.76,20.56,20.28,19.99,19.70,19.41,19.09,18.80]

y = [34.16,34.12,34.09,34.06,34.03,34.01,33.98,33.95,33.93,33.74,
     33.55,33.36,33.28,33.06,32.75,32.47,32.19,31.92,31.65,31.35]

n = length(x)

# Referencia
y_ref = pi/4 + 20.77
dy = y .- y_ref

# Uhol
θ = range(0, 2π, length=n+1)[1:end-1]

# Normalizácia
norm = maximum(abs.(dy))
r = 1 .+ dy ./ norm

# Súradnice bodov
xs = r .* cos.(θ)
ys = r .* sin.(θ)

# Referenčný kruh
circle_x = cos.(θ)
circle_y = sin.(θ)

# Graf
plot(circle_x, circle_y,
    aspect_ratio=:equal,
    legend=false,
    xlim=(-2,2),
    ylim=(-2,2),
    title="Charka solax ako ide slnko počas dňa"
)

# spojnice + text
for i in 1:n
    # referenčný bod na kruhu
    x0 = cos(θ[i])
    y0 = sin(θ[i])

    # spojnice
    plot!([x0, xs[i]], [y0, ys[i]],
        color=:gray,
        linewidth=1,
        alpha=0.6
    )

    # text
    annotate!(xs[i], ys[i],
        text(string(round(dy[i], digits=2)), 10)
    )
end

display(current())
readline()

Author: AarNoma

The first Slovak cyborg 1 system

Comments “Dokážeme z výkonov solárneho panelu určiť po akej dráhe sa pohybuje zem voči slnku? Poďme na to:”