圆中割线、弦与切线交点线段长度关系探究
几何画板及绘图内容加载中,请稍等……
本范例通过动态几何演示圆内割线、弦与切线相交时,各线段长度之间满足的乘积关系(如相交弦定理、割线定理、切割线定理)。核心数学概念包括圆幂定理、相似三角形、比例关系以及线段乘积的恒等性。作图要点:使用GeoGebra的Intersect、Point、Line、Circle等命令构造圆、割线、切线和交点,通过Segment测量线段长度,利用If和Slider(如Steps、inside_outside)控制动态变化,并借助Angle、Radius等对象辅助显示角度与半径关系。适合高中几何教学或大学初等几何课程,用于直观验证圆幂定理,帮助学生理解不同位置(圆内、圆外)下线段乘积的规律,也可作为探究性学习或数学实验的素材。
GeoGebra 命令及参数
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