Geometric construction of a GUINNESS-style logo: reflection and vectors

Geometric construction of a GUINNESS-style logo: reflection and vectors
Loading the math board and drawing, please wait…
2020-08-15 23:51
This example demonstrates how to build a GUINNESS-style logo image by constructing symmetric curves and outlines with geometric tools. It highlights key ideas in 2D vector geometry, including vectors, line and segment construction, polygonal/curved boundary assembly, circles and circular arcs (including semicircles), and symmetry via reflection. The construction uses LineBisector and Midpoint to determine reference axes and anchor points, Vector together with OrthogonalVector and OrthogonalLine to define directions and perpendicular scaffolding, and Line to form the structural lines. Intersections are computed with Intersect to place vertices precisely, while Mirror applies the reflection symmetry. Finally, the visual shape is assembled using Polygon, PolyLine, and Spline for the overall trace, along with Circle, Segment, Semicircle, and CircleArc for smooth arc-based features. Suitable for middle/high school geometry modeling, math visualization activities, and enrichment lessons on transformation geometry and curve construction.

GeoGebra Commands & Parameters

  1. LineBisector(A, B) → m
  2. Vector(A, B) → u
  3. OrthogonalLine(B, u, xOyPlane) → g
  4. OrthogonalVector(u) → v
  5. LineBisector(A_1, A) → l
  6. Line(A, B) → s
  7. OrthogonalLine(D, s) → i
  8. Mirror(i, m) → i'
  9. OrthogonalLine(A, s) → b
  10. OrthogonalLine(F, b) → f
  11. Intersect(m, f) → G
  12. Mirror(f, l) → f'
  13. Intersect(i', f') → P
  14. LineBisector(M_1, N_1) → j_3
  15. Intersect(j_3, g) → Z_2
  16. Intersect(s, j_3) → W_2
  17. Vector(Z_2, W_2) → v_2
  18. OrthogonalLine(A_1, b) → r
  19. Intersect(i, f') → E
  20. Intersect(m, l) → K
  21. Intersect(i, l) → J
  22. Mirror(f, l) → f'_1
  23. Intersect(g, r) → C
  24. Mirror(F, l) → F'
  25. Polygon(A_1, C, B, A) → c4, a_1, c_3, b_2, a_2
  26. Intersect(i', f) → J_1
  27. Mirror(E, l) → E'
  28. Polygon(R, T, U, Q) → q1, r_1, t, u_1, q
  29. Polygon(V, W, H, Z) → q2, v_1, w, h, z_1
  30. Semicircle(U, B_1) → c
  31. CircumcircleArc(B_1, M, S) → c_1
  32. CircumcircleArc(L, E_1, S) → p
  33. CircumcircleArc(I, G_1, F_1) → d_1
  34. CircumcircleArc(F_1, D_1, Q) → f_1
  35. Line(N, G) → j
  36. CircumcircleArc(Z, C_1, O) → d
  37. Intersect(d, j) → I_1, K_1
  38. CircumcircleArc(G, L_1, N) → k
  39. Polygon(N, O, I_1) → t1, i_1, n, o
  40. Polygon(K_1, Z, H, G) → q3, k_1, z_2, h_1, g_1
  41. Midpoint(B_1, U) → H_1
  42. Polygon(B_1, S, E_1, L, I, F_1, D_1, Q, U) → poly1, a, j_1, l_1, m_1, n_1, p_1, q_1, s_1, t_1
  43. Circle(H_1, Length[u] / 60) → e
  44. Vector(R, Q) → w_1
  45. OrthogonalLine(C_2, m) → b_1
  46. LineBisector(A_2, B_2) → f_2
  47. LineBisector(W_1, Z_1) → g_2
  48. Intersect(f_2, b_1) → D_2
  49. Intersect(g_2, b_1) → E_2
  50. Line(A_2, f_2) → h_2
  51. Line(B_2, f_2) → i_2
  52. Intersect(i_2, b_1) → F_2
  53. Intersect(h_2, b_1) → G_2
  54. Midpoint(W_1, Z_1) → H_2
  55. Segment(W_1, Z_1) → j_2
  56. Segment(E_2, H_2) → k_2
  57. Segment(G_2, A_2) → l_2
  58. Segment(A_2, D_2) → m_2
  59. Segment(D_2, B_2) → n_2
  60. Segment(B_2, F_2) → p_2
  61. Polygon(H, Z, G) → t2, g_3, h_3, z_3
  62. Segment(M_1, N_1) → q_2
  63. Line(O_1, q_2) → r_2
  64. Line(P_1, q_2) → s_2
  65. Line(Q_1, q_2) → t_2
  66. Line(R_1, q_2) → c_2
  67. Line(S_1, q_2) → d_2
  68. Line(T_1, q_2) → f_3
  69. Line(U_1, q_2) → i_3
  70. Intersect(d_1, r_2) → I_2,
  71. Intersect(d_1, s_2) → J_2,
  72. Intersect(d_1, t_2) → K_2,
  73. Intersect(d_1, c_2) → L_2,
  74. Intersect(f_1, i_3) → M_2,
  75. Intersect(f_1, f_3) → N_2,
  76. Intersect(d_1, d_2) → O_2,
  77. Vector(M_2, U_1) → u_2
  78. CircleArc(A_3, M_1, N_1, xOyPlane) → d_3
  79. Mirror(d_3, q_2) → e_3
  80. Segment(U_2, P_1) → k_3
  81. Segment(V_2, O_1) → l_3
  82. Segment(Q_1, T_2) → m_3
  83. Segment(S_2, R_1) → n_3
  84. Segment(R_2, S_1) → p_3
  85. Segment(Q_2, T_1) → q_3
  86. Segment(P_2, U_1) → r_3
  87. CircleArc(W_2, V_2, O_1) → s_3
  88. Mirror(s_3, r_2) → t_3
  89. CircleArc(B_3, U_2, P_1, xOyPlane) → c_4
  90. Mirror(c_4, s_2) → d_4
  91. LineBisector(T_2, Q_1) → b_3
  92. Intersect(g, b_3) → D_3
  93. CircleArc(D_3, T_2, Q_1, xOyPlane) → e_4
  94. Mirror(e_4, t_2) → f_4
  95. LineBisector(S_2, R_1) → g_4
  96. Intersect(g, g_4) → F_3
  97. CircleArc(G_3, S_2, R_1, xOyPlane) → h_4
  98. Mirror(h_4, c_2) → k_4
  99. LineBisector(R_2, S_1) → i_4
  100. Intersect(g, i_4) → H_3
  101. CircleArc(I_3, R_2, S_1, xOyPlane) → p_4
  102. Mirror(p_4, d_2) → q_4
  103. LineBisector(Q_2, T_1) → j_4
  104. Intersect(j_4, j) → K_3
  105. CircleArc(C_3, Q_2, T_1, xOyPlane) → r_4
  106. Mirror(r_4, f_3) → s_4
  107. LineBisector(P_2, U_1) → l_4
  108. CircleArc(J_3, P_2, U_1, xOyPlane) → t_4
  109. Mirror(t_4, i_3) → c_5
  110. Line(L_3, f) → m_4
  111. OrthogonalLine(M_3, f) → n_4
  112. OrthogonalLine(N_3, f) → a_4
  113. OrthogonalLine(O_3, f) → b_4
  114. OrthogonalLine(P_3, f) → f_5
  115. Intersect(n_4, m_4) → Q_3
  116. Intersect(a_4, m_4) → R_3
  117. Intersect(b_4, m_4) → S_3
  118. Intersect(f_5, m_4) → T_3
  119. Segment(Q_3, M_3) → g_5
  120. PolyLine(U_3, V_3, C_4) → h_5
  121. PolyLine(Z_3, W_3, D_4) → i_5
  122. Segment(F_4, D_4) → j_5
  123. Segment(E_4, O_3) → k_5
  124. Semicircle(F_4, O_3) → d_5
  125. Circle(T_3, G_4, H_4) → e_5
  126. Spline({H_4, K_4, I_4}, 3) → o_1

AI Drawing Prompt Reference

Draw a geometric construction of a Guinness-style logo. Start with a vertical symmetry axis and a horizontal baseline. Construct a grid of lines and perpendiculars on one side, using intersections to define key vertices. Outline the main shape with polygons: a quadrilateral and two trapezoids. Inside, connect vertices with circular arcs and a semicircle to form smooth curved edges. Add a small circle as a decorative element. Finally, mirror all lines and shapes across the symmetry axis to complete the symmetric logo. The composition uses lines, polygons, arcs, and a circle, emphasizing symmetry and geometric transformation.
The prompt above was compiled from the original drawing commands and is for reference only.