Desde la estrella Polar

Desde la Tierra (escala 1:2)

Punto medio

Segmento VT

Epitrocoide

Flor de Venus

Every 8 years, Venus orbits the Sun 
almost exactly 13 times.

In that time, Venus overtakes Earth 5 times, 
generating an envelope reminiscent 
of 5 intertwined cardioids.

anima = 0 (slider from 0 to 8, step 0.001)
excentricidadTierra: 0
semiejeMayorTierra: 1
semiejeMenorTierra: (semiejeMayorTierra * sqrt(1 - excentricidadTierra^(2)))
semifocalTierra: sqrt(semiejeMayorTierra^(2) - semiejeMenorTierra^(2))
S = (-10.376332851735269, 3.8138756528950744)
T': S
T'': T' + (1, 0)
vel: 0.4
escala: 0.5
órbitaSol' = Ellipse(T', T' + (0, semifocalTierra), (semiejeMayorTierra * escala))
S' = Point(órbitaSol', fractionalPart((anima * vel)))
órbitaTierra = Ellipse(S, S + (0, semifocalTierra), semiejeMayorTierra)
semiejeMayorVenus: 0.72
excentricidadVenus: 0
semiejeMenorVenus: (semiejeMayorVenus * sqrt(1 - excentricidadVenus^(2)))
semifocalVenus: sqrt(semiejeMayorVenus^(2) - semiejeMenorVenus^(2))
órbitaVenus = Ellipse(S, S + (0, semifocalVenus), semiejeMayorVenus)
velocidadVenus: (vel * 13 / 8)
T = Point(órbitaTierra, fractionalPart(anima))
V = Point(órbitaVenus, fractionalPart((13 / 8 * anima)))
TV = Segment(V, T)
PM = Midpoint(TV)
desdePolar = true
desdeTierra = false
T'Sol' = Segment(T', S')
órbitaVenus' = Ellipse(S', S' + (0, semifocalVenus), (semiejeMayorVenus * escala))
V' = Point(órbitaVenus', fractionalPart((anima * velocidadVenus)))
Sol'V' = Segment(S', V')
A = (-11.36890332992015, 2.821305174710197)
T2 = Point(órbitaTierra, fractionalPart(((anima - 0.005) * vel)))
V2 = Point(órbitaVenus, fractionalPart((velocidadVenus * (anima - 0.005))))
PM2 = Midpoint(T2, V2)
g = Segment(PM2, PM)
rastroPuntoMedio = false
rastroTV = true
d = Circle(T', (5 / 13 * escala))
e = Circle(S', (8 / 13 * escala))
C = Intersect(d, T'Sol')
h = Segment(S', V')
epitrocoide = false
flor = false
B: (-9.3653131082, 2.8213051747)
A' = Rotate(A, -14.5°, S)
B' = Rotate(B, -14.5°, S)
trayectoria = CurveCartesian(x(T') + (escala * (cos(t + pi / 13) + (semiejeMayorVenus * cos((13 / 8 * t))))), y(T') + (escala * (sin(t + pi / 13) + (semiejeMayorVenus * sin((13 / 8 * t))))), t, 0, (16 * pi))
rueda = Sequence(Segment[S', Rotate[C, ((((5 / 8 * anima) * vel) * 2) * pi) + (s * pi), S']], s, 0.125, 2, 0.125)
animación = false
texto2: "" + (floor((10 * anima)) / 10) + " years"