variables orbites
Author: aaa

Géocentrique

Date origine

Date

Année

Mois

Jour

Heures

Minutes

1 ua

P

lg périh

Mars

Terre

a

e

long. 0

année périh

mois péri

jour péri

heure péri

min péri

Orbites - construction

Configuration

γ

Trace

ε = 0.4092797095926703 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
fgeo = true
B1 = 1.4959787E8
B4 = 1.49598034E8
a_T: B4 / B1
B8 = 1.796589572125403 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
Lper_T: B8
B21 = 20
B20 = 15
B19 = 4
B18 = 1
B17 = 2009
jjp_T: 367.0 * B17 - floor(7.0 * (B17 + floor((B18 + 9.0) / 12.0)) / 4.0) - floor(3.0 * floor(floor(B17 + floor((B18 - 9.0) / 7.0)) / 100.0 + 1.0) / 4.0) + floor(275.0 * B18 / 9.0) + B19 + 1721029.0 - 0.5 + B20 / 24.0 + B21 / 24.0 / 60.0
B5 = 0.017
e_T: B5
B7 = 365.256
per_T: B7
tps = 1527 (slider from -300 to 6000, step 0.01)
B10 = 2009
B14 = 0
B13 = 0
B12 = 1
B11 = 8
jj0: 367.0 * B10 - floor(7.0 * (B10 + floor((B11 + 9.0) / 12.0)) / 4.0) - floor(3.0 * floor(floor(B10 + floor((B11 - 9.0) / 7.0)) / 100.0 + 1.0) / 4.0) + floor(275.0 * B11 / 9.0) + B12 + 1721029.0 - 0.5 + B13 / 24.0 + B14 / 24.0 / 60.0
jj: jj0 + tps
AM_T: (jj - jjp_T) * 360.0 / per_T
u0_T = Mod(3.141592653589793 / 180.0 * AM_T, 6.283185307179586)
uP_T = Intersect(Function[x, 0.0, 6.28319], Function[u0_T + e_T * sin(x), 0.0, 6.28319], (4.7021866209244685, 4.7021866209244685))
u_T: x(uP_T)
v_T: 2.0 * atan(tan(u_T / 2.0) * sqrt((1.0 + e_T) / (1.0 - e_T))) * 180.0 * ° / 3.14159
ρ_T: a_T * (1.0 - e_T^(2.0)) / (1.0 + e_T * cos(v_T))
θ_T: v_T + Lper_T
x_G = If(fgeo, ρ_T * cos(θ_T), 0.0)
y_G = If(fgeo, ρ_T * sin(θ_T), 0.0)
H: (-1.0 * x_G, -1.0 * y_G)
x_T: ρ_T * cos(θ_T)
y_T: ρ_T * sin(θ_T)
T: (x_T - x_G, y_T - y_G)
L_{Sgéo} = Angle(Vector[Vector[T, H]])
δ_S: asin(sin(ε) * sin(L_{Sgéo})) * 180.0 * ° / 3.141592653589793
C21 = 46
C20 = 9
C18 = 4
C19 = 21
C17 = 2009
jjp_M: 367.0 * C17 - floor(7.0 * (C17 + floor((C18 + 9.0) / 12.0)) / 4.0) - floor(3.0 * floor(floor(C17 + floor((C18 - 9.0) / 7.0)) / 100.0 + 1.0) / 4.0) + floor(275.0 * C18 / 9.0) + C19 + 1721029.0 - 0.5 + C20 / 24.0 + C21 / 24.0 / 60.0
C7 = 686.98
per_M: C7
C5 = 0.093
e_M: C5
AM_M = Mod((jj - jjp_M) * 360.0 / per_M, 360.0)
u0_M: 3.141592653589793 / 180.0 * AM_M
uP_M = Intersect(Function[x, 0.0, 6.28319], Function[u0_M + e_M * sin(x), 0.0, 6.28319], (2.3922463834531835, 2.3922463834531835))
C4 = 2.27939184E8
a_M: C4 / B1
C8 = 5.865353484252144 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
Lper_M: C8
u_M: x(uP_M)
v_M: 2.0 * atan(tan(u_M / 2.0) * sqrt((1.0 + e_M) / (1.0 - e_M))) * 180.0 * ° / 3.14159
θ_M: v_M + Lper_M
ρ_M: a_M * (1.0 - e_M^(2.0)) / (1.0 + e_M * cos(v_M))
y_M: ρ_M * sin(θ_M)
x_M: ρ_M * cos(θ_M)
M: (x_M - x_G, y_M - y_G)
vtm: UnitVector[Vector[T, M]] / 2.0
L_{Mgeo} = Angle(vtm)
δ: asin(sin(ε) * sin(L_{Mgeo})) * 180.0 * ° / 3.141592653589793
cosα: cos(L_{Mgeo}) / cos(δ)
sinα: cos(ε) * sin(L_{Mgeo}) / cos(δ)
α: Mod[Angle[(1.0, 0.0), (0.0, 0.0), (cosα, sinα)], 6.283185307179586] * 180.0 / 3.141592653589793 / 15.0
B16 = 5.388704065532492 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
lg_T: 360.0 * ° / per_T * tps + B16
F2_M = Rotate((-1.0 * 2.0 * a_M * e_M, 0.0), Lper_M, H)
C16 = 0.6614797865058508 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
C_M = Rotate((-1.0 * a_M * e_M, 0.0), Lper_M, H)
lg_M: v_M + C8
pm: C7
alp: floor((floor(jj + 0.5) - 1867216.25) / 36524.25)
a: floor(jj + 0.5) + 1.0 + alp - floor(alp / 4.0)
b: a + 1524.0
c: floor((b - 122.1) / 365.25)
d: floor(365.25 * c)
hr: (jj + 0.5 - floor(jj + 0.5)) * 24.0
ht: floor(hr)
mt: floor((hr - ht) * 60.0)
jjs = Mod(floor(jj - 0.5) + 0.5 + 1.5, 7.0)
texte3: "" + (If[jjs ≟ 0.0, "Dimanche", If[jjs ≟ 1.0, "Lundi", If[jjs ≟ 2.0, "Mardi", If[jjs ≟ 3.0, "Mercredi", If[jjs ≟ 4.0, "Jeudi", If[jjs ≟ 5.0, "Vendredi", "Samedi"]]]]]])
C13: ht
C14: mt
B6 = 1.855
el_M = Ellipse(F2_M, H, a_M)
e: floor((b - d) / 30.6001)
jr: b - d - floor(30.6001 * e) + Mod[jj + 0.5, 1.0]
mr: e - If[e < 13.5, 1.0, 13.0]
yr: c - If[mr > 2.5, 4716.0, 4715.0]
texte1: "Date : " + (floor(jr)) + "/" + mr + "/" + yr + "    " + C13 + "h" + C14 + "min"
C12: floor(jr)
C11: mr
C10: yr
L_{0T}: B16
L_{0M}: C16
F2_T = Rotate((-1.0 * 2.0 * a_T * e_T, 0.0), Lper_T, H)
el_T = Ellipse(F2_T, H, a_T)
IT_1, IT_2 = Intersect(el_T, Line[F2_T, H])
aps_T = Segment(IT_1, IT_2)
IM_1, IM_2 = Intersect(el_M, Line[F2_M, H])
aps_M = Segment(IM_1, IM_2)
bm: a_M * sqrt(1.0 - e_M * e_M)
ca_M = Circle(C_M, a_M)
elong = Angle(Vector[Vector[T, H]], Vector[Vector[T, M]])
texte2: "Elongation Mars : " + elong
forb = false
fconfig = true
tconf, t, h, m = Polygon(H, M, T)
aconf = Angle(H, T, M)
f_{conj} = If(aconf < 0.5 * ° ∨ aconf > 359.5 * °, true, false)
f_{opp} = If(aconf > 179.5 * ° ∧ aconf < 180.5 * °, true, false)
ftrace = true
M': M
H': H
T': T
f_{quade} = If(aconf > 89.5 * ° ∧ aconf < 90.5 * °, true, false)
f_{quado} = If(aconf > 269.5 * ° ∧ aconf < 270.5 * °, true, false)
lr_M: L_{Mgeo}
ycarte: 2.5 + 1.146 * tan(δ / 2.0)
texte4: "longitude Mars : " + L_{Mgeo}
texte6: "[" + (If[f_{conj}, "Conjonction", ""]) + (If[f_{opp}, "Opposition", ""]) + (If[f_{quado}, "Quadrature Ouest", ""]) + (If[f_{quade}, "Quadrature Est", "-------------------"]) + "]"
m0_T = Mod(AM_T * 3.141592653589793 / 180.0, 6.283185307179586)
xcarte: -(If[α < 12.0, α, α - 24.0]) * 0.15
M_C: (xcarte, ycarte)
L_{Thélio} = Angle(Vector[Vector[H, T]])
δ_T: asin(sin(ε) * sin(L_{Thélio})) * 180.0 * ° / 3.141592653589793
sintα: cos(ε) * sin(L_{Thélio}) / cos(δ_T)
costα: cos(L_{Thélio}) / cos(δ_T)
α_T: Mod[Angle[(1.0, 0.0), (0.0, 0.0), (costα, sintα)], 6.283185307179586] * 180.0 / 3.141592653589793 / 15.0
xtcarte: -(If[α_T < 12.0, α_T, α_T - 24.0]) * 0.15
ytcarte: 2.5 + 1.146 * tan(δ_T / 2.0)
T_C: (xtcarte, ytcarte)
cossα: cos(L_{Sgéo}) / cos(δ_S)
sinsα: cos(ε) * sin(L_{Sgéo}) / cos(δ_S)
α_S: Mod[Angle[(1.0, 0.0), (0.0, 0.0), (cossα, sinsα)], 6.283185307179586] * 180.0 / 3.141592653589793 / 15.0
xscarte: -(If[α_S < 12.0, α_S, α_S - 24.0]) * 0.15
yscarte: 2.5 + 1.146 * tan(δ_S / 2.0)
S_C: (xscarte, yscarte)

Tool: ekep
Input: C5, um0, um1, um2, um3, um4
Output: um

um1: um0 + (um0 + C5 * sin(um0) - um0) / (1.0 - C5 * cos(um0))
um2: um0 + (um1 + C5 * sin(um1) - um1) / (1.0 - C5 * cos(um1))
um3: um0 + (um2 + C5 * sin(um2) - um2) / (1.0 - C5 * cos(um2))
um: um0 + (um4 + C5 * sin(um4) - um4) / (1.0 - C5 * cos(um4))