Segment Length Relationships from Intersections of Secants, Chords, and Tangents
Loading the math board and drawing, please wait…
This interactive GeoGebra example dynamically illustrates the relationships among segment lengths formed when secants, chords, and tangents intersect a circle, demonstrating the power-of-a-point theorems (intersecting chords, secant-secant, and tangent-secant). Core mathematical concepts include circle power, similar triangles, proportional segments, and the constancy of products of segment lengths. The construction uses GeoGebra commands such as Intersect, Point, Line, Circle, Segment, Angle, and Radius, along with conditional If statements and sliders (e.g., Steps, inside_outside) to animate different configurations. It is suitable for high school geometry or introductory college geometry courses, serving as a visual proof and exploration tool for the power of a point, helping students grasp how segment products remain equal whether the intersection lies inside or outside the circle. Ideal for classroom demonstrations, student inquiry, or mathematical experimentation.
GeoGebra Commands & Parameters
Intersect(xAxis, yAxis) → APoint(xAxis) → BLine(C, B) → aCircle(A, B) → cIntersect(c, a, 2) → FPoint(c) → DIf((x(F) > x(D)) ∧ (x(F) < x(B)) ∧ ((y(F) > y(D)) ∨ (y(F) > y(B))), 1, 0) → F_ topLine(C, D) → bIntersect(c, b, 2) → EIf((x(E) > x(D)) ∧ (x(E) < x(B)) ∧ ((y(E) > y(D)) ∨ (y(E) > y(B))), 1, 0) → E_ topIf(E_ top + F_ top ≟ 1, 1, 0) → EFone_ topSegment(D, C) → dSegment(C, E) → eIf(EFone_ top ≟ 0, Segment[C, F], Segment[C, B]) → gIf(EFone_ top ≟ 0, Segment[C, B], Segment[C, F]) → hIf(EFone_ top ≟ 0, Polygon[D, F, C], Polygon[D, C, B]) → poly1If(EFone_ top ≟ 0, Polygon[B, C, E], Polygon[C, E, F]) → poly2Angle(E, C, B) → αAngle(D, C, F) → βAngle(C, F, D) → γSegment(D, E) → qSegment(F, B) → rSegment(D, C) → sSegment(C, B) → tSegment(C, E) → a_1Segment(C, F) → b_1Radius(c) → radiusIf(x(C)^(2) + y(C)^(2) ≤ radius^(2), 1, 0) → inside_ outsideAngle(B, E, C) → δAngle(C, D, F) → εAngle(E, B, C) → ζAngle(E, F, C) → ηAngle(C, D, B) → θIf(E_ top ≟ 1 ∧ F_ top ≟ 1, 1, 0) → EFboth_ topIf(inside_ outside ≟ 1, CircleArc[A, B, D], If[EFone_ top ≟ 0, If[EFboth_ top ≟ 0, CircleArc[A, E, F], CircleArc[A, F, E]], If[E_ top ≟ 1, If[x(C) < x(E), CircleArc[A, D, F], CircleArc[A, B, E]], If[x(C) < x(F), CircleArc[A, F, D], CircleArc[A, E, B]]]]) → fIf(inside_ outside ≟ 1, Segment[D, F], If[EFone_ top ≟ 0, Segment[D, F], Segment[D, B]]) → iIf(inside_ outside ≟ 1, Segment[E, B], If[EFone_ top ≟ 0, Segment[E, B], Segment[F, E]]) → jAngle(C, E, F) → ιAngle(D, B, F) → κIf(inside_ outside ≟ 1, Segment[D, F], If[EFone_ top ≟ 0, Segment[B, E], Segment[F, E]]) → kIf(inside_ outside ≟ 1, Segment[B, F], If[EFone_ top ≟ 0, Segment[F, B], If[x(C) < x(F), Segment[D, E], Segment[F, B]]]) → mIf(inside_ outside ≟ 1, Segment[B, E], If[EFone_ top ≟ 0, Segment[D, F], Segment[D, B]]) → pIf(inside_ outside ≟ 1, Segment[D, E], If[EFone_ top ≟ 0, Segment[D, E], If[x(C) < x(F), Segment[F, B], Segment[D, E]]]) → n