ratioofnotes: 2^(1 / 24)
alpha: acosd(1 / ratioofnotes)
A = Intersect(xAxis, yAxis)
B = Point(xAxis)
C = Point(xAxis)
B' = Rotate(B, alpha, A)
α = Angle(B, A, B')
f = Ray(A, B')
g = OrthogonalLine(B, xAxis)
h = Ray(A, B)
D = Intersect(g, f)
i = OrthogonalLine(D, f)
E = Intersect(i, h)
j = OrthogonalLine(E, h)
F = Intersect(j, f)
k = OrthogonalLine(F, f)
G = Intersect(k, h)
l = OrthogonalLine(G, h)
H = Intersect(l, f)
m = OrthogonalLine(H, f)
I = Intersect(m, h)
n = OrthogonalLine(I, h)
J = Intersect(n, f)
p = OrthogonalLine(J, f)
K = Intersect(p, h)
q = OrthogonalLine(K, h)
L = Intersect(q, f)
r = OrthogonalLine(L, f)
M = Intersect(r, h)
s = OrthogonalLine(M, h)
N = Intersect(s, f)
t = OrthogonalLine(N, f)
O = Intersect(t, h)
a = OrthogonalLine(O, h)
P = Intersect(a, f)
b = OrthogonalLine(P, f)
Q = Intersect(b, h)
c = OrthogonalLine(Q, h)
R = Intersect(c, f)
d = OrthogonalLine(R, f)
S = Intersect(d, h)
e = OrthogonalLine(S, h)
T = Intersect(e, f)
f_1 = OrthogonalLine(T, f)
U = Intersect(f_1, h)
g_1 = OrthogonalLine(U, h)
V = Intersect(g_1, f)
h_1 = OrthogonalLine(V, f)
W = Intersect(h_1, h)
i_1 = OrthogonalLine(W, h)
Z = Intersect(i_1, f)
j_1 = OrthogonalLine(Z, f)
A_1 = Intersect(j_1, h)
k_1 = OrthogonalLine(A_1, h)
B_1 = Intersect(k_1, f)
l_1 = OrthogonalLine(B_1, f)
m_1 = Segment(B, D)
n_1 = Segment(D, E)
p_1 = Segment(E, F)
q_1 = Segment(F, G)
r_1 = Segment(G, H)
s_1 = Segment(H, I)
t_1 = Segment(I, J)
a_1 = Segment(J, K)
b_1 = Segment(K, L)
c_1 = Segment(L, M)
d_1 = Segment(M, N)
e_1 = Segment(N, O)
f_2 = Segment(O, P)
g_2 = Segment(P, Q)
h_2 = Segment(Q, R)
i_2 = Segment(R, S)
j_2 = Segment(S, T)
k_2 = Segment(T, U)
l_2 = Segment(U, V)
m_2 = Segment(V, W)
n_2 = Segment(W, Z)
p_2 = Segment(Z, A_1)
q_2 = Segment(A_1, B_1)
r_2 = Segment(B_1, C)