Z = Intersect(xAxis, yAxis)
B = Point(Ray[(0, 0), Vector[(-1, 0)]])
A = Point(Ray[(0, 0), Vector[(-1, 0)]])
O_1 = Point(Ray[(0, 0), Vector[(1, 0)]])
f = OrthogonalLine(O_1, xAxis)
O_2 = Point(f)
i = Line(O_2, A)
M = Intersect(i, yAxis)
g = Segment(B, O_2)
N = Intersect(g, yAxis)
h = Segment(O_1, (Min[x(A), x(B)], 0))
V = If(Max[abs(y(N)), abs(y(M))] ≤ 3, (0, 4), (0, Max[abs(y(N)), abs(y(M))] + 1))
V' = Mirror(V, xAxis)
C = Point(Ray[M, A])
j = If(x(A) ≥ x(C), Segment[C, O_2], Segment[A, O_2])
k = Segment(V, V')
l = If(abs(y(N)) ≥ abs(y(M)), Segment[Z, N], Segment[Z, M])