If Pythagoras Had Regular Heptagons: Exploring Pythagorean Relations in Heptagon
Loading the math board and drawing, please wait…
This example demonstrates the exploration of finding geometric relationships related to the Pythagorean theorem within regular heptagons. The core mathematical concepts include: properties of regular heptagons, extensions of the Pythagorean theorem in special polygons, construction and area ratios of isosceles triangles, and applications of trigonometric functions in polygon calculations. Construction details: Use Polygon command to construct regular heptagons poly1 and poly2, find centroid with Centroid, create midpoints with Midpoint, draw line segments with Segment, use Circle and Line for auxiliary constructions, apply OrthogonalLine for perpendiculars, Intersect to find intersections, Rotate for rotation transformations, Vector for translations, and Angle to measure angles. Suitable for upper secondary school and introductory college geometry courses, exploring the deep connections between polygons and the Pythagorean theorem, and understanding the role of trigonometric functions in geometric proofs.
GeoGebra Commands & Parameters
Polygon(B, A, 7) → poly1, i, H, I, J, j, k, l, m, n, p, F, GMidpoint(n) → WCentroid(poly1) → USegment(U, W) → m_1Circle(A, B) → dCircle(A, 1) → cLine(A, B) → fOrthogonalLine(A, f) → gIntersect(c, g, 2) → CRay(A, C) → hIntersect(d, h, 1) → DPoint(Ray[A, D]) → EPolygon(E, A, B) → t1, b_1, e_1, a_1InteriorAngles(t1) → α, β, γRotate(W, γ, I) → W'Line(I, W') → n_1Intersect(n_1, m_1) → E_1Dilate(E_1, If[7 < o ≤ 8, 8 - o, 0], E) → R_3Polygon(A, E, 7) → poly2, q, M, N, O, r, s, t, a, b, e, K, LPolygon(E, B, 7) → poly3, f_1, R, S, T, g_1, h_1, i_1, j_1, k_1, l_1, P, QMidpoint(p) → VMidpoint(m) → ZMidpoint(l) → A_1Midpoint(k) → B_1Midpoint(j) → C_1Midpoint(i) → D_1Polygon(E_1, W, I) → t2, i_2, p_1, wPolygon(U, E_1, I, Z) → q1, u, q_1, i_3, z_1Rotate(U, (2 * pi / 7), U) → U'Rotate(E_1, (2 * pi / 7), U) → F_1Rotate(I, (2 * pi / 7), U) → I'Rotate(Z, (2 * pi / 7), U) → Z'Polygon(U', F_1, I', Z') → q1', u', r_1, i', z'Rotate(E_1, (2 * pi / 7), U) → G_1Rotate(W, (2 * pi / 7), U) → W'_{1}Rotate(I, (2 * pi / 7), U) → I'_{1}Polygon(G_1, W'_{1}, I'_{1}) → t2', i'_{1}, s_1, w'_{1}Rotate(E_1, (4 * pi / 7), U) → H_1Rotate(W, (4 * pi / 7), U) → W'_{2}Rotate(I, (4 * pi / 7), U) → I'_{2}Polygon(H_1, W'_{2}, I'_{2}) → t2'_{1}, i'_{2}, t_1, w'_{2}Rotate(U, (4 * pi / 7), U) → U'_{1}Rotate(E_1, (4 * pi / 7), U) → I_1Rotate(I, (4 * pi / 7), U) → I'_{3}Rotate(Z, (4 * pi / 7), U) → Z'_{1}Polygon(U'_{1}, I_1, I'_{3}, Z'_{1}) → q1'_{1}, u'_{1}, c_1, i'_{3}, z'_{1}Rotate(U, (6 * pi / 7), U) → U'_{2}Rotate(E_1, (6 * pi / 7), U) → J_1Rotate(I, (6 * pi / 7), U) → I'_{4}Rotate(Z, (6 * pi / 7), U) → Z'_{2}Polygon(U'_{2}, J_1, I'_{4}, Z'_{2}) → q1'_{2}, u'_{2}, d_1, i'_{4}, z'_{2}Rotate(E_1, (6 * pi / 7), U) → K_1Rotate(W, (6 * pi / 7), U) → W'_{3}Rotate(I, (6 * pi / 7), U) → I'_{5}Polygon(K_1, W'_{3}, I'_{5}) → t2'_{2}, i'_{5}, f_2, w'_{3}Rotate(E_1, (8 * pi / 7), U) → L_1Rotate(W, (8 * pi / 7), U) → W'_{4}Rotate(I, (8 * pi / 7), U) → I'_{6}Polygon(L_1, W'_{4}, I'_{6}) → t2'_{3}, i'_{6}, g_2, w'_{4}Rotate(U, (8 * pi / 7), U) → U'_{3}Rotate(E_1, (8 * pi / 7), U) → M_1Rotate(I, (8 * pi / 7), U) → I'_{7}Rotate(Z, (8 * pi / 7), U) → Z'_{3}Polygon(U'_{3}, M_1, I'_{7}, Z'_{3}) → q1'_{3}, u'_{3}, h_2, i'_{7}, z'_{3}Rotate(U, (10 * pi / 7), U) → U'_{4}Rotate(E_1, (10 * pi / 7), U) → N_1Rotate(I, (10 * pi / 7), U) → I'_{8}Rotate(Z, (10 * pi / 7), U) → Z'_{4}Polygon(U'_{4}, N_1, I'_{8}, Z'_{4}) → q1'_{4}, u'_{4}, j_2, i'_{8}, z'_{4}Rotate(E_1, (10 * pi / 7), U) → O_1Rotate(W, (10 * pi / 7), U) → W'_{5}Rotate(I, (10 * pi / 7), U) → I'_{9}Polygon(O_1, W'_{5}, I'_{9}) → t2'_{4}, i'_{9}, o_1, w'_{5}Rotate(E_1, (12 * pi / 7), U) → P_1Rotate(W, (12 * pi / 7), U) → W'_{6}Rotate(I, (12 * pi / 7), U) → I'_{10}Polygon(P_1, W'_{6}, I'_{10}) → t2'_{5}, i'_{10}, k_2, w'_{6}Rotate(U, (12 * pi / 7), U) → U'_{5}Rotate(E_1, (12 * pi / 7), U) → Q_1Rotate(I, (12 * pi / 7), U) → I'_{11}Rotate(Z, (12 * pi / 7), U) → Z'_{5}Polygon(U'_{5}, Q_1, I'_{11}, Z'_{5}) → q1'_{5}, u'_{5}, l_2, i'_{11}, z'_{5}Dilate(A, If[0 < o ≤ 1, 1 - o, 0], R) → R_1Vector(A, R_1) → vTranslate(U'_{2}, v) → S_1Translate(J_1, v) → T_1Translate(I'_{4}, v) → U_1Translate(Z'_{2}, v) → V_1Polygon(S_1, T_1, U_1, V_1) → q2, m_2, n_2, u_1, v_1Translate(K_1, v) → W_1Translate(W'_{3}, v) → Z_1Translate(I'_{5}, v) → A_2Angle(S, R, T_1) → δRotate(S_1, If[0 < o ≤ 1, ((-o) * δ), (-δ)], R_1) → B_2Rotate(T_1, If[0 < o ≤ 1, ((-o) * δ), (-δ)], R_1) → C_2Rotate(U_1, If[0 < o ≤ 1, ((-o) * δ), (-δ)], R_1) → D_2Rotate(V_1, If[0 < o ≤ 1, ((-o) * δ), (-δ)], R_1) → E_2Polygon(B_2, C_2, D_2, E_2) → q2', b_2, c_2, d_2, e_2Dilate(A, If[1 < o ≤ 2, 2 - o, 0], S) → A'Vector(A, A') → w_1Translate(K_1, w_1) → F_2Translate(W'_{3}, w_1) → G_2Translate(I'_{5}, w_1) → H_2Polygon(F_2, G_2, H_2) → t3, p_2, q_2, r_2Angle(F_2, A', C_2) → εTranslate(J_1, w_1) → I_2Rotate(F_2, If[1 < o ≤ 2, ((o - 1) * ε), ε], A') → J_2Rotate(G_2, If[1 < o ≤ 2, ((o - 1) * ε), ε], A') → K_2Rotate(H_2, If[1 < o ≤ 2, ((o - 1) * ε), ε], A') → L_2Polygon(J_2, K_2, L_2) → t3', s_2, t_2, a_2Dilate(B, If[2 < o ≤ 3, 3 - o, 0], S) → B'Vector(B, B') → u_2Translate(U'_{1}, u_2) → M_2Translate(I_1, u_2) → N_2Translate(I'_{3}, u_2) → O_2Translate(Z'_{1}, u_2) → P_2Polygon(M_2, N_2, O_2, P_2) → q3, f_3, g_3, o_2, h_3Translate(V, Vector[B, S]) → V'Angle(V', S, K_2) → ζRotate(M_2, If[2 < o ≤ 3, ((o - 2) * ζ), ζ], B') → Q_2Rotate(N_2, If[2 < o ≤ 3, ((o - 2) * ζ), ζ], B') → R_2Rotate(O_2, If[2 < o ≤ 3, ((o - 2) * ζ), ζ], B') → S_2Rotate(P_2, If[2 < o ≤ 3, ((o - 2) * ζ), ζ], B') → T_2Polygon(Q_2, R_2, S_2, T_2) → q3', j_3, k_3, l_3, m_3Dilate(B, If[3 < o ≤ 4, 4 - o, 0], T) → B'_{1}Vector(B, B'_{1}) → v_2Translate(H_1, v_2) → U_2Translate(W'_{2}, v_2) → V_2Translate(I'_{2}, v_2) → W_2Polygon(U_2, V_2, W_2) → t4, w_2, n_3, p_3Translate(H_1, Vector[B, T]) → Z_2Angle(Z_2, T, R_2) → ηRotate(U_2, If[3 < o ≤ 4, ((o - 3) * η), η], B'_{1}) → A_3Rotate(V_2, If[3 < o ≤ 4, ((o - 3) * η), η], B'_{1}) → B_3Rotate(W_2, If[3 < o ≤ 4, ((o - 3) * η), η], B'_{1}) → C_3Polygon(A_3, B_3, C_3) → t4', c_3, a_3, b_3Dilate(J, If[4 < o ≤ 5, 5 - o, 0], T) → J'Vector(J, J') → u_3Translate(U', u_3) → U''Translate(F_1, u_3) → D_3Translate(I', u_3) → I''Translate(Z', u_3) → Z''Polygon(U'', D_3, I'', Z'') → q1'', u'', d_3, i'', z''Translate(W, Vector[J, T]) → W'_{7}Angle(W'_{7}, T, B_3) → θRotate(U'', If[4 < o ≤ 5, ((-(o - 4)) * ((2 * pi) - θ)), (-((2 * pi) - θ))], J') → U'''Rotate(D_3, If[4 < o ≤ 5, ((-(o - 4)) * ((2 * pi) - θ)), (-((2 * pi) - θ))], J') → E_3Rotate(I'', If[4 < o ≤ 5, ((-(o - 4)) * ((2 * pi) - θ)), (-((2 * pi) - θ))], J') → I'''Rotate(Z'', If[4 < o ≤ 5, ((-(o - 4)) * ((2 * pi) - θ)), (-((2 * pi) - θ))], J') → Z'''Polygon(U''', E_3, I''', Z''') → q1''', u''', e_3, i''', z'''Dilate(F_1, If[5 < o ≤ 6, 6 - o, 0], E_3) → F_3Vector(F_1, F_3) → v_3Translate(G_1, v_3) → G_3Translate(W'_{1}, v_3) → H_3Translate(I'_{1}, v_3) → I_3Polygon(G_3, H_3, I_3) → t2'', q_3, r_3, s_3Translate(J, Vector[F_1, E_3]) → J'_{1}Angle(M, L, K) → ιAngle(E, E_3, J'_{1}) → κRotate(G_3, If[5 < o ≤ 6, ((-(o - 5)) * κ), (-κ)], F_3) → J_3Rotate(H_3, If[5 < o ≤ 6, ((-(o - 5)) * κ), (-κ)], F_3) → K_3Rotate(I_3, If[5 < o ≤ 6, ((-(o - 5)) * κ), (-κ)], F_3) → L_3Polygon(J_3, K_3, L_3) → t2''', t_3, f_4, g_4Dilate(I, If[6 < o ≤ 7, 7 - o, 0], E) → I'_{12}Vector(I, I'_{12}) → w_3Translate(U, w_3) → U'_{6}Translate(E_1, w_3) → M_3Translate(I, w_3) → I'_{13}Translate(Z, w_3) → Z'_{6}Polygon(U'_{6}, M_3, I'_{13}, Z'_{6}) → q1'_{6}, u'_{6}, h_4, i'_{13}, z'_{6}Translate(Z, Vector[I, E]) → Z'_{7}Angle(Z'_{7}, E, K_3) → λRotate(U'_{6}, If[6 < o ≤ 7, ((-(o - 6)) * ((2 * pi) - λ)), λ - (2 * pi)], I'_{12}) → N_3Rotate(M_3, If[6 < o ≤ 7, ((-(o - 6)) * ((2 * pi) - λ)), λ - (2 * pi)], I'_{12}) → O_3Rotate(I'_{13}, If[6 < o ≤ 7, ((-(o - 6)) * ((2 * pi) - λ)), λ - (2 * pi)], I'_{12}) → P_3Rotate(Z'_{6}, If[6 < o ≤ 7, ((-(o - 6)) * ((2 * pi) - λ)), λ - (2 * pi)], I'_{12}) → Q_3Polygon(N_3, O_3, P_3, Q_3) → q4, i_4, o_3, j_4, k_4Vector(E_1, R_3) → u_4Translate(I, u_4) → I'_{14}Translate(E_1, Vector[W, E]) → I'_{15}Translate(I, Vector[W, E]) → I'_{16}Translate(E_1, u_4) → T_3Translate(I, u_4) → I'_{17}Translate(I, Vector[E_1, E]) → I'_{18}Angle(M, L, K) → νAngle(A, E, I'_{18}) → ξRotate(T_3, If[7 < o ≤ 8, ((-(o - 7)) * ξ), (-ξ)], R_3) → U_3Rotate(I'_{17}, If[7 < o ≤ 8, ((-(o - 7)) * ξ), (-ξ)], R_3) → W_3Translate(H, Vector[A_1, O_3]) → H'Translate(U, Vector[A_1, O_3]) → U'_{7}Translate(P_1, Vector[A_1, O_3]) → D_4Dilate(I, If[7 < o ≤ 8, 8 - o, 0], B) → I'_{19}Vector(I, I'_{19}) → v_4Translate(E_1, v_4) → S_3Translate(W, v_4) → W'_{8}Translate(I, v_4) → I'_{20}Polygon(S_3, W'_{8}, I'_{20}) → t2'_{6}, i'_{20}, l_4, w'_{8}Translate(E_1, Vector[I, B]) → V_3Angle(V_3, B, O_3) → μRotate(S_3, If[7 < o ≤ 8, ((o - 7) * μ), μ], I'_{19}) → Z_3Rotate(W'_{8}, If[7 < o ≤ 8, ((o - 7) * μ), μ], I'_{19}) → A_4Rotate(I'_{20}, If[7 < o ≤ 8, ((o - 7) * μ), μ], I'_{19}) → B_4Polygon(Z_3, A_4, B_4) → t5, b_4, z_3, a_4Dilate(A_1, If[8 < o ≤ 9, 9 - o, 0], A_4) → H'_{1}Vector(A_1, H'_{1}) → w_4Vector(H, B) → c_4Translate(U'_{5}, w_4) → C_4Translate(Q_1, w_4) → E_4Translate(I'_{11}, w_4) → F_4Translate(Z'_{5}, w_4) → G_4Polygon(C_4, E_4, F_4, G_4) → q5, m_4, e_4, n_4, p_4Translate(H, Vector[A_1, A_4]) → H'_{2}Angle(M, L, K) → οAngle(B, A_4, H'_{2}) → ρRotate(C_4, If[8 < o ≤ 9, ((-(o - 8)) * ρ), (-ρ)], H'_{1}) → H_4Rotate(E_4, If[8 < o ≤ 9, ((-(o - 8)) * ρ), (-ρ)], H'_{1}) → I_4Rotate(F_4, If[8 < o ≤ 9, ((-(o - 8)) * ρ), (-ρ)], H'_{1}) → J_4Rotate(G_4, If[8 < o ≤ 9, ((-(o - 8)) * ρ), (-ρ)], H'_{1}) → K_4Polygon(H_4, I_4, J_4, K_4) → q5', q_4, r_4, s_4, t_4Dilate(Z, If[9 < o ≤ 10, 10 - o, 0], I_4) → Z'_{8}Translate(H, Vector[Z, I_4]) → H'_{3}Dilate(P_1, If[9 < o ≤ 10, 10 - o, 0], I_4) → L_4Vector(P_1, L_4) → u_5Translate(P_1, u_5) → M_4Translate(W'_{6}, u_5) → N_4Translate(I'_{10}, u_5) → O_4Polygon(M_4, N_4, O_4) → t6, o_4, d_4, f_5Translate(Z, Vector[P_1, I_4]) → Z'_{9}Angle(Z'_{9}, I_4, H_4) → σRotate(M_4, If[9 < o < 10, ((o - 9) * σ), σ], L_4) → P_4Rotate(N_4, If[9 < o < 10, ((o - 9) * σ), σ], L_4) → Q_4Rotate(O_4, If[9 < o < 10, ((o - 9) * σ), σ], L_4) → R_4Polygon(P_4, Q_4, R_4) → t6', g_5, h_5, i_5Dilate(G, If[10 < o ≤ 11, 11 - o, 0], P) → G'Vector(G, G') → v_5Translate(U'_{4}, v_5) → S_4Translate(N_1, v_5) → T_4Translate(I'_{8}, v_5) → U_4Translate(Z'_{4}, v_5) → V_4Polygon(S_4, T_4, U_4, V_4) → q6, j_5, k_5, l_5, m_5Translate(B_1, Vector[G, P]) → W_4Angle(W_4, P, Q_4) → τRotate(U_4, If[10 < o < 11, ((o - 10) * τ), τ], G') → B_5Rotate(V_4, If[10 < o < 11, ((o - 10) * τ), τ], G') → C_5Rotate(S_4, If[10 < o < 11, ((o - 10) * τ), τ], G') → Z_4Rotate(T_4, If[10 < o < 11, ((o - 10) * τ), τ], G') → A_5Rotate(U_4, If[10 < o < 11, ((o - 10) * τ), τ], G') → D_5Rotate(V_4, If[10 < o < 11, ((o - 10) * τ), τ], G') → E_5Polygon(Z_4, A_5, D_5, E_5) → q6', z_4, a_5, d_5, e_5Dilate(N_1, If[11 < o ≤ 12, 12 - o, 0], A_5) → F_5Vector(N_1, F_5) → w_5Translate(O_1, w_5) → G_5Translate(W'_{5}, w_5) → H_5Translate(I'_{9}, w_5) → I_5Polygon(G_5, H_5, I_5) → t7, n_5, p_5, q_5Translate(G, Vector[N_1, F_5]) → G'_{1}Translate(G, Vector[N_1, A_5]) → G'_{2}Angle(K, L, M) → υAngle(Q, A_5, G'_{2}) → ϕRotate(G_5, If[11 < o < 12, ((-(o - 11)) * ϕ), (-ϕ)], F_5) → J_5Rotate(H_5, If[11 < o < 12, ((-(o - 11)) * ϕ), (-ϕ)], F_5) → K_5Rotate(I_5, If[11 < o < 12, ((-(o - 11)) * ϕ), (-ϕ)], F_5) → L_5Polygon(J_5, K_5, L_5) → t7', r_5, s_5, t_5Translate(B_1, Vector[F, K_5]) → M_5Translate(C_1, Vector[F, K_5]) → U_5Translate(C_1, Vector[N_1, F_5]) → Q_5Translate(C_1, Vector[F, Q]) → V_5Angle(V_5, Q, Q_5) → χDilate(F, If[12 < o ≤ 13, 13 - o, 0], Q) → F'Vector(F, F') → b_5Translate(U'_{3}, b_5) → N_5Translate(M_1, b_5) → O_5Translate(I'_{7}, b_5) → P_5Translate(Z'_{3}, b_5) → R_5Polygon(N_5, O_5, P_5, R_5) → q7, c_5, o_5, f_6, g_6Translate(C_1, Vector[F, Q]) → S_5Angle(V_5, Q, K_5) → ψRotate(N_5, If[12 < o ≤ 13, ((o - 12) * ψ), ψ], F') → T_5Rotate(O_5, If[12 < o ≤ 13, ((o - 12) * ψ), ψ], F') → W_5Rotate(P_5, If[12 < o ≤ 13, ((o - 12) * ψ), ψ], F') → Z_5Rotate(R_5, If[12 < o ≤ 13, ((o - 12) * ψ), ψ], F') → A_6Polygon(T_5, W_5, Z_5, A_6) → q7', h_6, i_6, z_5, a_6Line(W_5, u'_{3}) → j_6Point(j_6) → B_6Angle(B_6, W_5, E_2) → ωDilate(B_1, If[13 < o ≤ 14, 14 - o, 0], E_2) → C_6Vector(B_1, C_6) → u_6Translate(L_1, u_6) → D_6Translate(W'_{4}, u_6) → E_6Translate(I'_{6}, u_6) → F_6Polygon(D_6, E_6, F_6) → t8, k_6, d_6, e_6Rotate(D_6, If[13 < o ≤ 14, ((o - 13) * ω), ω], C_6) → G_6Rotate(E_6, If[13 < o ≤ 14, ((o - 13) * ω), ω], C_6) → H_6Rotate(F_6, If[13 < o ≤ 14, ((o - 13) * ω), ω], C_6) → I_6Polygon(G_6, H_6, I_6) → t8', l_6, m_6, n_6Line(H_4, r) → p_6Point(p_6) → J_6Angle(Z_4, H_4, J_6) → α_1Dilate(E, If[14 < o ≤ 15, 15 - o, 0], H_4) → E'Vector(E, E') → v_6Translate(poly2, v_6) → poly2'Rotate(poly2', If[15 < o ≤ 16, ((-(o - 15)) * α_1), (-α_1)], H_4) → poly2''Angle(B, A, E) → β_1Segment(K, L) → q_6Segment(L, M) → r_6Segment(M, N) → s_6Segment(N, O) → t_6Segment(O, A) → b_6Segment(E, A) → c_6Segment(E, K) → f_7Segment(A, B) → g_7Segment(B, E) → h_7Segment(A, F) → i_7Segment(F, G) → j_7Segment(G, H) → k_7Segment(H, I) → l_7Segment(I, J) → m_7Segment(B, J) → n_7Segment(B, P) → p_7Segment(P, Q) → q_7Segment(Q, R) → r_7Segment(R, S) → s_7Segment(S, T) → t_7Segment(T, E) → a_7
AI Drawing Prompt Reference
Draw a regular heptagon. On one of its sides, construct an isosceles triangle sharing that side as base. Using the heptagon's center as pivot, rotate the triangle and heptagon by multiples of one-seventh of a full turn to create symmetric copies. Connect vertices of copies to the center with auxiliary segments, and mark midpoints of these segments. Add auxiliary circles and perpendicular lines to determine key intersection points. Finally, color-code the original and rotated copies, and label all angles.
The prompt above was compiled from the original drawing commands and is for reference only.