Geometric Construction of the Diatonic Scale: Music Meets Mathematics
Loading the math board and drawing, please wait…
In collections
Música y Matemáticas
① This GeoGebra example demonstrates how to construct the natural major diatonic scale through geometric methods, translating musical interval ratios into visual geometric figures. ② Core mathematical concepts include fractions and ratios (e.g., perfect fifth 3:2, perfect fourth 4:3), sequences and series (geometric progression of frequencies), symmetry and rotation (distribution of intervals on a circle), and linear programming ideas (allocating intervals within a finite range). ③ Construction highlights: from the summary, commands used include Vector, OrthogonalLine, Point, Intersect, Segment, Line, Midpoint, Sequence, Text, and Translate; objects include auxiliary lines t1, t2, t3, note-labeled points D_7 through J_7, and text elements, progressively generating each scale degree via geometric proportion. ④ Suitable for upper secondary to early university students, for interdisciplinary projects (music + math), for mathematics teachers demonstrating ratios, sequences, and geometric construction, or for music theory courses to intuitively grasp the mathematical essence of intervals.
GeoGebra Commands & Parameters
Vector(D_7 + C_7 - D_7, E_8) → wVector(G_7, H_8) → w'OrthogonalLine(B, xAxis) → fOrthogonalLine(B, f) → gPoint(g) → COrthogonalLine(C, g) → hOrthogonalLine(B1, f) → iIntersect(h, i) → DPoint(f) → ESegment(B, E) → jPoint(h) → FLine(F, g) → kMidpoint(B, C) → GOrthogonalLine(G, g) → lOrthogonalLine(E, l) → mIntersect(l, m) → HIntersect(l, k) → ISegment(I, H) → nPoint(f) → LOrthogonalLine(L, h) → pIntersect(h, p) → MSegment(L, M) → qOrthogonalLine(N, h) → rOrthogonalLine(P, m) → sIntersect(m, s) → RSegment(P, R) → tOrthogonalLine(S, h) → aIntersect(f, a) → TPoint(f) → WOrthogonalLine(W, h) → bIntersect(s, b) → ZIntersect(l, b) → C_1OrthogonalLine(E_1, h) → cIntersect(c, h) → F_1Point(h) → I_1OrthogonalLine(I_1, h) → dLine(J_1, h) → eIntersect(e, m) → M_1Segment(J_1, M_1) → f_1OrthogonalLine(N_1, h) → g_1Intersect(g_1, f) → O_1Intersect(g_1, l) → P_1Intersect(e, p) → Q_1Intersect(s, p) → R_1Intersect(l, p) → S_1Point(h) → T_1OrthogonalLine(T_1, h) → h_1OrthogonalLine(W_1, h) → j_1Segment(Z_1, R) → i_1Segment(B_2, H) → k_1Sequence(Polygon[(x(W_1) - (abs(Z_1 - W_1) * (2 / 3)^(k)), y(W_1) - ((k * an) + (k * bn))), (x(W_1), y(W_1) - ((k * an) + (k * bn))), (x(W_1), y(W_1) - ((k * an) + an + (k * bn))), (x(W_1) - (abs(Z_1 - W_1) * (2 / 3)^(k)), y(W_1) - ((k * an) + an + (k * bn)))], k, 1, 11) → l13Sequence(Polygon[(x(C_2) - (abs(B_2 - C_2) * (1 / 2)^(k)), y(C_2) - ((k * an) + (k * bn))), (x(C_2), y(C_2) - ((k * an) + (k * bn))), (x(C_2), y(C_2) - ((k * an) + an + (k * bn))), (x(C_2) - (abs(B_2 - C_2) * (1 / 2)^(k)), y(C_2) - ((k * an) + an + (k * bn)))], k, 1, 6) → l15Sequence((x(C_2) - (abs(B_2 - C_2) * (1 / 2)^(k)), y(C_2) - ((k * an) + (k * bn))), k, 1, 6) → l14Sequence((x(C_2) - (abs(B_2 - C_2) * (1 / 2)^(k)), y(L)), k, 1, 6) → l16Sequence(Segment[l14(k), l16(k)], k, 1, 5) → l17Segment(F_2, l16(6)) → l_1Segment(E_2, F_2) → m_1Segment(G_2, I_2) → n_1Segment(J_2, H) → p_1Segment(M_2, R) → q_1Segment(O_2, M_1) → r_1Segment(P_2, R_2) → s_1Segment(T_2, U_2) → t_1Segment(W_2, Z_2) → a_1Segment(B_3, C_3) → b_1Midpoint(W_2, V_2) → D_3Segment(D_3 + (0, bn), D_3 - (0, an + bn)) → c_1Text(texto45, Pos1 + N_3 - L_3) → texto46Text(texto45, Pos1 + P_3 - L_3) → texto47Text(texto45, Pos1 + Q_3 - L_3) → texto48Text(texto45, Pos1 + R_3 - L_3) → texto49Midpoint(H_4, N_2) → L_4Midpoint(L_4, N_2) → M_4Midpoint(M_4, N_2) → N_4Segment(O_4, R_4) → g_2Segment(P_4, S_4) → h_2Segment(Q_4, T_4) → i_2Midpoint(W_3, E_4) → U_4Midpoint(U_4, E_4) → V_4Midpoint(V_4, E_4) → W_4Midpoint(V_3, D_4) → F_5Midpoint(F_5, D_4) → G_5Midpoint(G_5, D_4) → H_5Midpoint(T_3, C_4) → O_5Midpoint(O_5, C_4) → P_5Midpoint(P_5, C_4) → Q_5Segment(H_4, (x(H_4), y(E))) → f_2Midpoint(Z_3, F_4) → Z_5Midpoint(Z_5, F_4) → A_6Midpoint(A_6, F_4) → B_6Midpoint(U_3, K_2) → I_6Midpoint(I_6, K_2) → J_6Midpoint(J_6, K_2) → K_6Midpoint(A_4, G_4) → R_6Midpoint(R_6, G_4) → S_6Midpoint(S_6, G_4) → T_6Translate(l57, C_7 - D_7) → l57'Translate(l55, C_7 - D_7) → l55'Translate(l56, C_7 - D_7) → l56'Translate(l58, C_7 - D_7) → l58'Translate(l55, T_7 - D_7) → l55'_{1}Translate(l56, T_7 - D_7) → l56'_{1}Translate(l58, T_7 - D_7) → l58'_{1}Translate(l57, T_7 - D_7) → l57'_{1}Translate(l59, Vector[(t1 * v)]) → l59'Translate(l60, Vector[(t1 * v)]) → l60'Translate(l59, v) → l59'_{1}Segment(V_7 + v, U_7 + v) → d_1Translate(l60, v) → l60'_{1}Segment(A_8 + v, B_8 + v) → e_1Translate(l55, T_7 - D_7 + (u, 0)) → l55'_{2}Translate(l56, T_7 - D_7 + (u, 0)) → l56'_{2}Translate(l58, T_7 - D_7 + (u, 0)) → l58'_{2}Translate(l57, T_7 - D_7 + (u, 0)) → l57'_{2}Translate(l58, T_7 - D_7 + (u, 0)) → l58'_{3}Translate(l58'_{3}, Vector[(t1 * v)]) → l61Translate(l58'_{3}, v) → l62Segment(I_7 - ((u * kk), 0), I_7 - ((u * kk), 0) + K_7 - D_7) → j_2Segment(G_8, K_7 + G_8 - D_7) → k_2Translate(l56, T_7 - D_7 + ((2 * u), 0)) → l56'_{3}Translate(l55, T_7 - D_7 + ((2 * u), 0)) → l55'_{3}Translate(l58, T_7 - D_7 + ((2 * u), 0)) → l58'_{4}Translate(l57, T_7 - D_7 + ((2 * u), 0)) → l57'_{3}Translate({l58(1)}, T_7 - D_7 + ((2 * u), 0)) → l58'_{5}Translate(l58'_{5}, Vector[(t1 * v)]) → l63Translate(l58'_{5}, v) → l64Segment(I_7 - ((u * kk), 0) + (u, 0), I_7 - ((u * kk), 0) + (u, 0) + K_7 - D_7) → l_2Translate(l55', Vector[(t1 * w)]) → l55''Translate(l60'_{1}, Vector[(t1 * w)]) → l65Translate({l62(2)}, Vector[(t1 * w)]) → l66Translate({l58'(1)}, Vector[(t1 * w)]) → l67Translate(l56, Vector[(t2 * w')]) → l56'_{4}Translate(l59'_{1}, Vector[(t2 * w')]) → l69Translate({l62(1)}, Vector[(t2 * w')]) → l70Translate(l64, Vector[(t2 * w')]) → l64'Translate({l58(2)}, Vector[(t2 * w')]) → l71Translate(l74, C_7 - D_7 + ((3 * u) + (u * kk), 0)) → l74'Segment(PosFinal + (inc, 0) + (0, 1.65), PosFinal + (inc, 0) - (0, 3.8)) → n_2Segment(PosFinal + (inc, 0) + ((2 * u) - (u * kk), 1.65), PosFinal + ((2 * u) + inc - (u * kk), 0) - (0, 3.8)) → n_2'
AI Drawing Prompt Reference
Create a geometric construction that visualizes a major musical scale through geometric methods. Start by plotting points representing scale degrees from D to J as the basic framework. Use vector translations and orthogonal lines to progressively construct the geometric ratios of perfect fifths and perfect fourths. Apply midpoints, parallel lines, and intersection points to generate a series of auxiliary lines forming an intricate geometric grid. Add text labels at key positions showing interval ratios like 3:2 and 4:3. Connect relevant points with segments to reveal the symmetrical distribution and mathematical beauty of the scale in geometric space.
The prompt above was compiled from the original drawing commands and is for reference only.