Bryan Johnson's Triangle Theorem

Bryan Johnson's Triangle Theorem
Loading the math board and drawing, please wait…
2019-10-17 23:00
This example demonstrates Bryan Johnson's Triangle Theorem, illustrating the dynamic relationship between triangles and parallelograms. Key mathematical concepts include geometric construction, rotation, angles, vectors, and polygon formation. Construction highlights involve GeoGebra commands such as Segment, Rotate, Angle, Ray, Point, Polygon, Circle, Intersect, Min, CircleSector, Dilate, Vector, and Translate. Suitable for high school and advanced learners to explore geometric proofs and visualizations.

GeoGebra Commands & Parameters

  1. Segment(A, B) → f
  2. Rotate(B, (a * π / 180), A) → B'
  3. Angle(B, A, B') → α
  4. Ray(A, B') → g
  5. Point(g) → C
  6. Segment(B, C) → h
  7. Segment(A, C) → i
  8. Polygon(A, B, C) → poly1, c, a_1, b
  9. Rotate(A, If[0 < d ≤ 1, (d * π / 3), π / 3], A) → A'
  10. Rotate(C, If[0 < d ≤ 1, (d * π / 3), π / 3], A) → C'
  11. Rotate(B, If[0 < d ≤ 1, (d * π / 3), π / 3], C) → B'_1
  12. Rotate(C, If[0 < d ≤ 1, (d * π / 3), π / 3], C) → C'_1
  13. Segment(A, B) → q
  14. Rotate(A, If[2 < d ≤ 3, ((d - 2) * π / 3), π / 3], A) → A'_3
  15. Rotate(C, (o * π / 180), A) → C'_4
  16. Ray(A, C'_4) → t
  17. Rotate(B, (o * π / 180), C) → B'_3
  18. Rotate(B, (o * π / 180), A) → B'_4
  19. Ray(C, B'_3) → f_1
  20. Ray(A, B'_4) → g_1
  21. Point(t) → N
  22. Circle(C, (h * e_1)) → h_1
  23. Circle(A, (q * e_1)) → k_1
  24. Intersect(k_1, g_1, 1) → O
  25. Intersect(h_1, f_1) → P,
  26. Polygon(A, N, C) → t2, c_2, a_3, n_1
  27. Polygon(C, P, B) → t3, b_2, c_3, p_1
  28. Polygon(A, O, B) → t4, b_3, a_4, o_1
  29. Segment(A, N) → i_1
  30. Segment(N, C) → j_1
  31. Segment(A, O) → l_1
  32. Segment(O, B) → m_1
  33. Segment(C, P) → q_1
  34. Segment(B, P) → r_1
  35. Min(i, i_1) → e
  36. Circle(A, (0.2 * e)) → k
  37. Intersect(k, i, 1) → D
  38. Intersect(k, i_1, 1) → E
  39. CircleSector(A, D, E) → p
  40. Dilate(N, If[0 < d ≤ 1, 1 - d, 0], O) → N'
  41. Vector(N, N') → u
  42. Translate(N, u) → N'_1
  43. Translate(C, u) → C'_2
  44. Segment(N'_1, C'_2) → j
  45. Dilate(C, If[1 < d ≤ 2, 2 - d, 0], N) → C'_3
  46. Vector(C, C'_3) → v
  47. Translate(C, v) → C'_5
  48. Translate(P, v) → P'
  49. Segment(C'_5, P') → l
  50. Polygon(N, C, P, O) → q1, n, c_1, p_2, o_2