A - A'

B - B'

Línea de Horizonte

Punto Central

ControlRectangulo1 = Point(Ray[(0, 0), Vector[(0, 1)]])
ControlRectangulo2 = Point(Ray[(0, 0), Vector[(1, 0)]])
f = OrthogonalLine(ControlRectangulo2, xAxis)
g = OrthogonalLine(ControlRectangulo1, yAxis)
C_1 = Intersect(f, g)
D_1 = Point(Segment[(0, 0), (0, y(ControlRectangulo1) / 3)])
E: (0, (2 * y(D_1)))
F: (0, (3 * y(D_1)))
h = OrthogonalLine(D_1, yAxis)
i = OrthogonalLine(E, yAxis)
j = OrthogonalLine(F, yAxis)
A: ((4 / 3 * x(ControlRectangulo2)), 0)
k = OrthogonalLine(A, xAxis)
H: (x(A) + x(ControlRectangulo2), 0)
G = Intersect(f, j)
I = Intersect(f, i)
J = Intersect(f, h)
l = OrthogonalLine(H, xAxis)
K = Intersect(g, k)
M = Intersect(g, l)
C: (x(A), (-x(ControlRectangulo2)))
D: (x(H), (-x(ControlRectangulo2)))
m = Segment(C, D)
P = Intersect(xAxis, yAxis)
p = Segment(ControlRectangulo2, C_1)
q = Segment(C_1, ControlRectangulo1)
r = Segment(ControlRectangulo1, P)
s = Segment(D_1, J)
t = Segment(E, I)
a = Segment(F, G)
Q = Intersect(j, k)
R = Intersect(j, l)
b = Segment(Q, R)
c = LineBisector(A, C)
d = LineBisector(A, H)
n: 4
lista1 = Sequence((x(C) + (w * m / n), y(C)), w, 0, n)
lista2 = Sequence((x(C), y(C) + (w * m / n)), w, 0, n)
lista3 = Sequence(Mirror[Element[lista1, w], c], w, 1, n + 1)
lista4 = Sequence(Mirror[Element[lista2, w], d], w, 1, n + 1)
lista5 = Sequence(Segment[Element[lista1, w], Element[lista3, w]], w, 1, n + 1)
lista6 = Sequence(Segment[Element[lista2, w], Element[lista4, w]], w, 1, n + 1)
e = Segment(K, M)
Punto = Point(a)
N: (x(Q) + x(Punto), y(Q))
lista7 = Sequence(Segment[N, Element[lista3, w]], w, 1, n + 1)
f_1 = Segment(P, ControlRectangulo2)
g_1 = Segment(K, A)
h_1 = Segment(M, H)
i_1 = Segment(N, A)
C' = Point(i_1)
j_1 = OrthogonalLine(C', yAxis)
lista8 = Sequence(Intersect[j_1, Element[lista7, w]], w, 1, n + 1)
lista9 = Sequence(Segment[N, Element[lista8, w]], w, 1, n + 1)
lista10 = Sequence(Segment[Element[lista3, w], Element[lista8, w]], w, 1, n + 1)
k_1 = Segment(N, H)
D' = Intersect(j_1, k_1)
l_1 = Segment(C', D')