Author: Rafa

Eclipse de Sol

Eclipse de Luna

Cuarto menguante

A = (2.8000000000000016, 1.1800000000000002)
esc = 1 (slider from 0.5 to 1, step 0.01)
dS: (7.43 * esc)
c = Circle(A, dS)
B = Point(c)
d = Circle(B, (1.84 * esc))
g_1, h_1 = Tangent(A, d)
Z = Intersect(d, h_1)
rT: esc
q_1 = Circle(B, rT)
G_1 = Intersect(q_1, Segment[B, Z])
rL: rT / 3.5
rL': rL + 0.05
I = Point(d)
p2 = Circle(I, rL')
e_1 = Line(A, I)
a = Ray(A, B)
D, E = Intersect(d, a)
e = Circle(B, rT)
g = Circle(D, rL)
h = Circle(E, rL)
b = Segment(A, B)
F = Intersect(e, b)
i, j = Tangent(F, g)
G = Intersect(g, i)
H = Intersect(g, j)
k = Ray(F, G)
l = Ray(F, H)
m = OrthogonalLine(A, k)
J = Intersect(m, k)
rS: abs(J - A)
q = Circle(A, J)
n, r = TangentesExteriores(q, e)
K, C_2 = Intersect(q, l)
Q, J_1 = Intersect(e, r)
R = Intersect(e, n)
S = Intersect(r, n)
polígono1: {Polygon[G, H, F]}
polígono2: {Polygon[Q, R, S]}
p = Circle(I, rL)
f, s = TangentesExteriores(q, p)
C, H_1 = Intersect(p, s)
L, I_1 = Intersect(p, f)
N, O = Intersect(q, r)
P, T = Intersect(q, n)
t = Segment(N, Q)
a_1 = Segment(R, P)
b_1 = Segment(J, G)
c_1 = Segment(K, H)
eSol = false
polígono5, i_1, j_1, k_1 = Polygon(G_1, Z, A)
eLuna = false
cuarto = false
f_1 = Circle(Z, rL)
β = Angle(B, Z, A)
M = Intersect(p, e_1, 2)
p_1 = CircumcircleArc(L, M, C)
U = Point(c)
γ = Angle(U, A, B)
U1: U - (rT, rT)
U2: U - ((-rT), rT)
U1' = Rotate(U1, γ, A)
U2' = Rotate(U2, γ, A)
V: B + ((1.84 * esc), 0)
W = Intersect(p2, e_1, 2)
d_1 = OrthogonalLine(W, e_1)
A_1 = Intersect(p2, e_1, 1)
l_1 = OrthogonalLine(A_1, e_1)
m_1 = OrthogonalLine(I, e_1)
B_1 = Intersect(p, m_1, 1)
n_1 = OrthogonalLine(B_1, m_1)
C_1 = Intersect(l_1, n_1)
D_1 = Intersect(n_1, d_1)
p' = Circle(I, rL' + (0.01 * esc))
p'' = Circle(I, rL' + (0.02 * esc))
E_1: A - (rS, rS)
F_1: A - ((-rS), rS)
texto1: "Escala: " + ((100 * esc)) + " %"
lista1: {Polygon[(-1.5, 3.16), (-1.5, 10), (-6, 10), (-6, 3.16)]}
α = Angle(Z, G_1, A)

Tool: Tangentes Exteriores (command TangentesExteriores)
Circunferencia, Circunferencia
Input: c, d
Output: h, i

D = Point(d)
C = Center(d)
r = Segment(C, D)
B = Point(c)
A = Center(c)
R = Segment(A, B)
m = Min(R, r)
e' = If(m ≟ r, c, d)
e = If(m ≟ r, Circle[A, R - r], Circle[C, r - R])
T = If(m ≟ r, C, A)
a_1, b_1 = Tangent(T, e)
a, b = Tangent(T, e)
P = Intersect(e, b)
Z = If(m ≟ r, A, C)
g = Ray(Z, P)
Q = Intersect(e, a)
f = Ray(Z, Q)
I = Intersect(e', f, 1)
E = Intersect(e', g)
h = OrthogonalLine(E, g)
i = OrthogonalLine(I, f)