Equilateral Triangles Problem: Dynamic Exploration of Two Equilateral Triangles

Equilateral Triangles Problem: Dynamic Exploration of Two Equilateral Triangles
Loading the math board and drawing, please wait…
2018-07-15 09:19
① This example demonstrates a dynamic geometry problem involving two equilateral triangles, originally posted by David Petro on Twittercars. It allows users to drag points and adjust sliders to explore the changing relationships within the figure. ② Core mathematical concepts include properties of equilateral triangles, angle relationships, geometric transformations (rotation, translation, dilation), and the roles of fractions and natural numbers in lengths or ratios, with potential applications of piecewise functions and roots in the construction. ③ Construction highlights: Based on the construction summary, the example uses GeoGebra commands such as Line, Circle, Intersect, Ray, Point, Rotate, Polygon, PointIn, Min, Angle, Segment, Dilate, CircleSector, Vector, Translate, Midpoint, and Semicircle. It builds multiple points (A, B, C, D, E, etc.), segments, polygons (poly1, poly2), and auxiliary circles/arcs, generating the second equilateral triangle via rotation and scaling, with sliders or dynamic points for parameter adjustment. ④ Target audience: Suitable for middle school to high school students, as a visual aid for exploring geometric properties, dynamic demonstrations, or competition problem visualization. It is also useful for teachers in classroom presentations or for students' independent exploration of transformations and proportional relationships.

GeoGebra Commands & Parameters

  1. Line(A, B) → f
  2. Circle(B, 1) → c
  3. Intersect(c, f, 1) → F
  4. Ray(B, F) → l
  5. Point(l) → G
  6. Intersect(c, f, 2) → C
  7. Rotate(C, ε, B) → C'
  8. Ray(B, C') → g
  9. Point(g) → D
  10. Polygon(B, D, 3) → poly1, h, i, j, E
  11. PointIn(poly1) → H
  12. Polygon(G, H, 3) → poly2, m, n, p, I
  13. Min(Distance[Centroid[poly1], Segment[E, D]], Distance[Centroid[poly2], Segment[G, H]]) → w
  14. Line(E, B) → k
  15. Circle(G, 2) → d
  16. Intersect(d, f, 1) → J
  17. Angle(I, G, J) → α
  18. Angle(C, B, D) → β
  19. Intersect(Line[I, H], k) → K
  20. Circle(K, 1) → e
  21. Intersect(e, k) → L, M
  22. Intersect(e, k, 1) → N
  23. Angle(H, K, N) → γ
  24. Line(I, H) → q
  25. Segment(I, G) → r
  26. Segment(G, H) → s
  27. Segment(H, I) → t
  28. Segment(B, D) → a
  29. Segment(D, E) → f_1
  30. Segment(E, B) → g_1
  31. Dilate(B, If[0 < o ≤ 1, 1 - o, 0], D) → B'
  32. Dilate(G, If[0 < o ≤ 1, 1 - o, 0], H) → G'
  33. Segment(G, G') → h_1
  34. Segment(B, B') → i_1
  35. Rotate(B, If[1 < o ≤ 2, ((o - 1) * π / 3), π / 3], B) → B'_1
  36. Rotate(B', If[1 < o ≤ 2, ((o - 1) * π / 3), π / 3], B) → B''
  37. Segment(B'_1, B'') → j_1
  38. Rotate(G, If[1 < o ≤ 2, ((o - 1) * π / 3), π / 3], G) → G'_1
  39. Rotate(G', If[1 < o ≤ 2, ((o - 1) * π / 3), π / 3], G) → G''
  40. Segment(G'_1, G'') → k_1
  41. Rotate(G'_1, If[2 < o ≤ 3, ((o - 2) * π / 3), π / 3], I) → O
  42. Rotate(G'', If[2 < o ≤ 3, ((o - 2) * π / 3), π / 3], I) → G'''
  43. Segment(O, G''') → l_1
  44. Rotate(B'_1, If[2 < o ≤ 3, ((o - 2) * π / 3), π / 3], E) → P
  45. Rotate(B'', If[2 < o ≤ 3, ((o - 2) * π / 3), π / 3], E) → B'''
  46. Segment(P, B''') → m_1
  47. Segment(K, H) → n_1
  48. Circle(B, (0.6 * w)) → d_1
  49. Circle(G, (0.6 * w)) → c_1
  50. Intersect(c_1, f) → S, T
  51. Intersect(d_1, f) → U, V
  52. Rotate(S, If[4 < o ≤ 5, ((-(o - 4)) * α), (-α)], G) → S'
  53. Rotate(V, If[5 < o ≤ 6, ((o - 5) * β), β], B) → V'
  54. CircleSector(G, S', S) → e_1
  55. CircleSector(B, V, V') → q_1
  56. Line(G, q) → r_1
  57. Point(r_1) → W
  58. Angle(W, G, I) → ζ
  59. Dilate(G, If[7 < o ≤ 8, 8 - o, 0], K) → G'_2
  60. Vector(G, G'_2) → u
  61. Translate(e_1, u) → s_1
  62. Rotate(s_1, If[7 < o ≤ 8, ((-(o - 7)) * ζ), (-ζ)], G'_2) → t_1
  63. Midpoint(G, I) → Z
  64. Dilate(B, If[8 < o ≤ 9, 9 - o, 0], Z) → B'_2
  65. Vector(B, B'_2) → v
  66. Translate(q_1, v) → c_2
  67. Semicircle(Z, K) → d_2
  68. Midpoint(Z, K) → A_1
  69. Rotate(B'_2, If[9 < o ≤ 10, ((o - 9) * (-π)), (-π)], A_1) → B_1
  70. Vector(B'_2, B_1) → u_1
  71. Translate(c_2, u_1) → e_2
  72. Rotate(e_2, If[9 < o ≤ 10, ((o - 9) * π / 3), π / 3], B_1) → f_2

AI Drawing Prompt Reference

Draw two equilateral triangles, with one triangle obtained by rotating and scaling the other. First, draw line segment AB, then draw a circle centered at B with radius 1, find the intersection F of the circle and line segment AB, draw ray BF, find point G on ray BF, draw a circle centered at C, find the intersection C of the circle and line segment AB, then rotate point C around B to get C', draw ray BC', find point D on ray BC', draw a circle centered at B, find the intersection E of the circle and line segment AB, connect B, D, E to form the first equilateral triangle poly1, draw a circle centered at G, find the intersection H of the circle and line segment AB, connect G, H, H to form the second equilateral triangle poly2, adjust parameters to observe the relationship between the two triangles.
The prompt above was compiled from the original drawing commands and is for reference only.