Special Triangle (II): 30-60-90 Triangle as Half an Equilateral Triangle

Special Triangle (II): 30-60-90 Triangle as Half an Equilateral Triangle
Loading the math board and drawing, please wait…
2018-08-14 01:22
This interactive GeoGebra applet guides students to discover, without words or angle measures, that a 30-60-90 triangle is exactly half of an equilateral triangle. The core mathematical concepts include the side-length ratios of special right triangles, symmetry, and properties of equilateral triangles. The construction uses GeoGebra commands such as Polygon, Dilate, Segment, Circle, Intersect, CircleSector, Rotate, Vector, Translate, CircleArc, and Midpoint to build an equilateral triangle with auxiliary circles, rotated and translated copies, and multiple points (A, B, C, D, E, F, G, H, I, J, K) and segments (a, b, c, d, e, f, g, h, i, j, k) along with circular arcs to reveal the geometric relationships. Suitable for middle or high school geometry classes, this applet helps students visualize the 30-60-90 triangle's properties and its connection to equilateral triangles, while also exploring symmetry and transformations.

GeoGebra Commands & Parameters

  1. Polygon(A, B, 3) → poly1, a, b, c, C
  2. Dilate(A, If[0 < d ≤ 1, 1 - d, 0], B) → A'
  3. Segment(A, A') → e
  4. Dilate(B, If[1 < d ≤ 2, 2 - d, 0], C) → B'
  5. Segment(B, B') → f
  6. Dilate(C, If[2 < d ≤ 3, 3 - d, 0], A) → C'
  7. Segment(C, C') → g
  8. Segment(A, B) → h
  9. Segment(A, C) → i
  10. Segment(B, C) → j
  11. Circle(A, (0.15 * h)) → k
  12. Intersect(k, i, 1) → D
  13. Intersect(k, h, 1) → E
  14. CircleSector(A, E, D) → p
  15. Rotate(A, If[3.5 < d ≤ 4.5, ((d - 3.5) * π / 3), 1.0471975511965976], A) → A'_1
  16. Rotate(A', If[3.5 < d ≤ 4.5, ((d - 3.5) * π / 3), 1.0471975511965976], A) → A''
  17. Segment(A'_1, A'') → e'
  18. Rotate(A, If[4.5 < d ≤ 5.5, ((-(d - 4.5)) * π / 3), -1.0471975511965976], B) → A'_2
  19. Rotate(A', If[4.5 < d ≤ 5.5, ((-(d - 4.5)) * π / 3), -1.0471975511965976], B) → A''_1
  20. Segment(A'_2, A''_1) → e'_1
  21. Dilate(A, If[6 < d ≤ 7, 7 - d, 0], B) → A'_3
  22. Vector(A, A'_3) → u
  23. Translate(p, u) → p'
  24. CircleArc(A, E, D) → q
  25. Rotate(p', If[7 < d ≤ 8, (((d - 7) * 2) * π / 3), 2.0943951023931953], B) → p''
  26. Circle(B, (0.15 * h)) → r
  27. Intersect(f, e'_1) → G
  28. Intersect(f, e'_1) → H
  29. Intersect(f, e'_1) → I
  30. Intersect(f, e'_1) → J
  31. Intersect(r, j, 1) → F
  32. Intersect(r, h, 1) → K
  33. CircleArc(B, F, K) → s
  34. Dilate(B, If[8 < d ≤ 9, 9 - d, 0], C) → B'_1
  35. Vector(B, B'_1) → v
  36. Translate(p'', v) → p'''
  37. Rotate(p''', If[9 < d ≤ 10, (((d - 9) * 2) * π / 3), 2.0943951023931953], C) → t
  38. Circle(C, (0.15 * h)) → c_1
  39. Intersect(g, e') → L
  40. Intersect(c_1, i) → M,
  41. Intersect(c_1, j) → N,
  42. Midpoint(h) → O
  43. Dilate(C, If[10 < d ≤ 11, 11 - d, 0], O) → C'_1
  44. Segment(C, C'_1) → l
  45. Circle(O, (0.15 * h)) → d_1
  46. Segment(C, O) → m
  47. Intersect(d_1, m, 1) → P
  48. Intersect(d_1, h) → Q, R
  49. Polygon(A, O, C) → poly2, c_2, a_1, o
  50. Intersect(c_1, m) → S,
  51. CircleSector(C, S, N) → e_1
  52. CircleSector(O, R, P) → f_1
  53. Segment(O, B) → n
  54. Rotate(f_1, If[11.25 < d ≤ 12.25, ((d - 11.25) * π / 2), 1.5708], O) → g_1
  55. Rotate(e_1, If[12.25 < d ≤ 13.25, ((-(d - 12.25)) * π / 6), -0.5236], C) → h_1
  56. CircleArc(C, S, N) → k_1
  57. CircleArc(O, R, P) → p_1
  58. Rotate(O, If[13.25 < d ≤ 14.25, ((-(d - 13.25)) * π), -3.141592653589793], O) → O'
  59. Rotate(B, If[13.25 < d ≤ 14.25, ((d - 13.25) * π), 3.14159], O) → B'_2
  60. Segment(O', B'_2) → n'
  61. Segment(O, B) → b_1
  62. Dilate(C, If[14.25 < d ≤ 15.25, 15.25 - d, 0], A) → C'_2
  63. Vector(C, C'_2) → w
  64. Translate(h_1, w) → q_1
  65. Rotate(q_1, If[15.25 < d ≤ 16.25, (((-(d - 15.25)) * 4) * π / 3), -4.1887902047863905], A) → r_1
  66. Dilate(C, If[16.25 < d ≤ 17.25, 17.25 - d, 0], A) → C'_3
  67. Vector(C, C'_3) → u_1
  68. Translate(h_1, u_1) → s_1
  69. Rotate(s_1, If[17.25 < d ≤ 18.25, (((-(d - 17.25)) * 7) * π / 6), -3.665191429188092], A) → t_1
  70. Midpoint(g) → T
  71. Rotate(O', If[18.25 < d ≤ 19.25, ((d - 18.25) * π / 3), 1.0471975511965976], A) → O''
  72. Rotate(B'_2, If[18.25 < d ≤ 19.25, ((d - 18.25) * π / 3), 1.0471975511965976], A) → U
  73. Segment(O'', U) → n''
  74. Dilate(A, If[19.25 < d ≤ 20.25, 20.25 - d, 0], T) → A'_4
  75. Vector(A, A'_4) → v_1
  76. Translate(O', v_1) → O''_1
  77. Translate(B'_2, v_1) → V
  78. Segment(O''_1, V) → n''_1
  79. Rotate(O''_1, If[20.25 < d ≤ 21.25, ((d - 20.25) * π / 3), 1.0471975511965976], T) → W
  80. Rotate(V, If[20.25 < d ≤ 21.25, ((d - 20.25) * π / 3), 1.0471975511965976], T) → V'
  81. Segment(W, V') → i_1