Exploration of Bicentric Quadrilaterals

Exploration of Bicentric Quadrilaterals
Loading the math board and drawing, please wait…
2020-05-02 21:37
This GeoGebra example explores bicentric quadrilaterals–quadrilaterals that possess both a circumcircle and an incircle. It dynamically demonstrates the relationship between side lengths, angles, and the radii/positions of the two circles using geometric constraints and sliders. Core mathematical concepts include circumcircles, incircles, similar triangles, triangle congruence, and geometric transformations. Construction leverages GeoGebra commands such as Circle, Intersect, Polygon, Tangent, Distance, and ClosestPoint, involving angle measurement, vector operations, and polygon drawing. Suitable for high school geometry enrichment, competition training, and learners interested in advanced circle properties and geometric optimization.

GeoGebra Commands & Parameters

  1. ConstructionStep() → ncs
  2. Circle(O1, r1) → ci1
  3. If(ncs ≤ 41, 25°, 0°) → β1
  4. Segment(A1, C1) → dg11
  5. Segment(B1, Intersect[ci1, OrthogonalLine[B1, dg11], 1]) → dg21
  6. Intersect(ci1, OrthogonalLine[B1, dg11], 2) → D1
  7. Intersect(dg11, dg21) → H1
  8. Angle(A1, H1, D1) → α11
  9. Angle(C1, H1, B1) → α21
  10. Polygon(A1, B1, C1, D1) → qu1, a1, b1, c1, d1
  11. Tangent(A1, ci1) → tA1,
  12. Tangent(B1, ci1) → tB1,
  13. Intersect(tA1, tB1) → A2
  14. Tangent(C1, ci1) → tC1,
  15. Intersect(tB1, tC1) → B2
  16. Tangent(D1, ci1) → tD1,
  17. Intersect(tC1, tD1) → C2
  18. Intersect(tD1, tA1) → D2
  19. Polygon(A2, B2, C2, D2) → qu2, a2, b2, c2, d2
  20. Intersect(LineBisector[Segment[A2, B2]], LineBisector[Segment[B2, C2]]) → O2
  21. Distance(O2, A2) → r2
  22. Circle(O2, r2) → ci2
  23. Segment(A2, C2) → dg12
  24. Segment(B2, D2) → dg22
  25. Intersect(dg12, dg22) → H2
  26. Angle(A2, H2, D2) → α12
  27. Angle(C2, H2, B2) → α22
  28. Tangent(A2, ci2) → tA2, g
  29. Tangent(B2, ci2) → tB2,
  30. Intersect(Tangent[A2, ci2], Tangent[B2, ci2]) → A3
  31. Tangent(C2, ci2) → tC2,
  32. Intersect(Tangent[B2, ci2], Tangent[C2, ci2]) → B3
  33. Tangent(D2, ci2) → tD2, h
  34. Intersect(Tangent[C2, ci2], Tangent[D2, ci2]) → C3
  35. Intersect(Tangent[D2, ci2], Tangent[A2, ci2]) → D3
  36. Polygon(A3, B3, C3, D3) → qu3, a3, b3, c3, d3
  37. Intersect(LineBisector[Segment[A3, B3]], LineBisector[Segment[B3, C3]]) → O3
  38. Distance(O3, A3) → r3
  39. Circle(O3, r3) → ci3
  40. ClosestPoint(ci3, D3) → D3'
  41. Tangent(A3, ci3) → tA3,
  42. Tangent(B3, ci3) → tB3,
  43. Tangent(C3, ci3) → tC3,
  44. Tangent(D3, ci3) → tD3, f
  45. Vector(D3, D3') → vD3
  46. Intersect(Tangent[A3, ci3], Tangent[B3, ci3]) → A4
  47. Intersect(Tangent[B3, ci3], Tangent[C3, ci3]) → B4
  48. Intersect(Tangent[C3, ci3], Tangent[D3, ci3]) → C4
  49. Intersect(Tangent[D3, ci3], Tangent[A3, ci3]) → D4
  50. Polygon(A4, B4, C4, D4) → qu4, a4, b4, c4, d4
  51. Intersect(LineBisector[Segment[A4, B4]], LineBisector[Segment[B4, C4]]) → O4
  52. Distance(O4, A4) → r4
  53. Circle(O4, r4) → ci4
  54. ClosestPoint(ci4, D4) → D4'
  55. Vector(D4, D4') → vD4
  56. Circle(Midpoint[D4, D4'], 0.35) → cd4