Dynamic Demonstration of Perpendiculars in a Cyclic Quadrilateral

Dynamic Demonstration of Perpendiculars in a Cyclic Quadrilateral
Loading the math board and drawing, please wait…
2017-06-04 08:26
This example dynamically illustrates a surprising phenomenon that occurs when perpendiculars are drawn from the vertices of a cyclic quadrilateral inscribed in a circle. It involves core mathematical concepts such as circles, cyclic quadrilaterals, perpendiculars, angles, vectors, and geometric transformations. The construction utilizes GeoGebra commands and objects like Circle, Point, Rotate, CircleArc, Segment, Intersect, Ray, Polygon, Line, OrthogonalLine, Angle, Dilate, Vector, and Translate. It is suitable for high school mathematics instruction or exploration by geometry enthusiasts.

GeoGebra Commands & Parameters

  1. Circle(A_1, B_1) → c
  2. Point(c) → C_1
  3. Rotate(C_1, 2°, A_1) → C'
  4. CircleArc(A_1, C', C_1) → d
  5. Point(d) → D
  6. CircleArc(A_1, D, C_1) → e
  7. Point(e) → C
  8. CircleArc(A_1, C, C_1) → f
  9. Point(f) → B
  10. CircleArc(A_1, B, C_1) → g
  11. Point(g) → A
  12. Segment(D, C) → b
  13. Segment(C, B) → h
  14. Segment(D, A) → a
  15. Segment(A, B) → i
  16. Circle(B, (0.2 * Distance[A_1, B_1])) → k
  17. Circle(C, (0.2 * Distance[A_1, B_1])) → p
  18. Circle(A, (0.2 * Distance[A_1, B_1])) → q
  19. Circle(D, (0.2 * Distance[A_1, B_1])) → r
  20. Intersect(k, i, 1) → H_1
  21. Intersect(k, h, 1) → I
  22. Intersect(p, h, 1) → J
  23. Intersect(p, b, 1) → K
  24. Intersect(r, a, 1) → L
  25. Intersect(r, b, 1) → M_1
  26. Intersect(q, a, 1) → N_1
  27. Intersect(q, i, 1) → O
  28. Circle(A_1, B_1) → e_1
  29. Ray(D, A) → l
  30. Point(l) → P
  31. Ray(A, P) → m
  32. Ray(A, D) → n
  33. Point(n) → Q
  34. Ray(D, Q) → a_1
  35. Polygon(A, D, C, B) → poly1, g_2, d_2, e_2, f_2
  36. Line(A, D) → s
  37. Line(C, B) → t
  38. Line(C, D) → f_1
  39. Line(B, A) → h_1
  40. OrthogonalLine(C, s) → g_1
  41. OrthogonalLine(B, m) → i_1
  42. OrthogonalLine(D, h_1) → j_1
  43. Intersect(g_1, s) → G
  44. Intersect(i_1, s) → F
  45. OrthogonalLine(A, f_1) → k_1
  46. Intersect(f_1, k_1) → E
  47. Intersect(h_1, j_1) → H
  48. Intersect(i_1, j_1) → N
  49. Intersect(k_1, g_1) → M
  50. Line(N, M) → l_1
  51. Angle(B, F, A) → γ
  52. Angle(D, G, C) → δ
  53. Angle(C, E, A) → ε
  54. Angle(D, H, B) → ζ
  55. Dilate(B, If[0 < o ≤ 1, 1 - o, 0], N) → B'
  56. Segment(B, B') → m_1
  57. Dilate(C, If[0 < o ≤ 1, 1 - o, 0], M) → C'_1
  58. Segment(C, C'_1) → n_1
  59. Dilate(D, If[2 < o ≤ 3, 3 - o, 0], N) → D'
  60. Dilate(N, If[3 < o ≤ 4, 4 - o, 0], H) → N'
  61. Segment(N, N') → p_1
  62. Dilate(N, If[1 < o ≤ 2, 2 - o, 0], F) → N'_1
  63. Segment(N, N'_1) → q_1
  64. Dilate(M, If[1 < o ≤ 2, 2 - o, 0], G) → M'
  65. Segment(M, M') → r_1
  66. Dilate(A, If[4 < o ≤ 5, 5 - o, 0], M) → A'
  67. Segment(A, A') → s_1
  68. Dilate(M, If[5 < o ≤ 6, 6 - o, 0], E) → M'_1
  69. Segment(M, M'_1) → t_1
  70. Dilate(N, If[6 < o ≤ 7, 7 - o, 0], M) → N'_2
  71. Segment(N, N'_2) → b_1
  72. Segment(N, B) → c_1
  73. Line(N, M) → h_2
  74. Dilate(N, If[7 < o ≤ 8, 8 - o, 0], B) → N'_3
  75. Segment(N, N'_3) → d_1
  76. Dilate(N, If[8 < o ≤ 9, 9 - o, 0], B) → N'_4
  77. Vector(N, N'_4) → u
  78. Translate(N, u) → N'_5
  79. Translate(N'_2, u) → R
  80. Segment(N'_5, R) → i_2
  81. Dilate(N, If[9 < o ≤ 10, 10 - o, 0], M) → N'_6
  82. Vector(N, N'_6) → v
  83. Translate(N, v) → N'_7
  84. Translate(N'_3, v) → S
  85. Segment(N'_7, S) → j_2
  86. Polygon(N, M, C, B) → poly2, n_2, m_2, c_2, b_2
  87. Dilate(D, If[2 < o ≤ 3, 3 - o, 0], N) → D'_1
  88. Segment(D, D'_1) → j