抛物面反射器动画演示
几何画板及绘图内容加载中,请稍等……
①本范例通过动画演示抛物面反射器的特性,展示光线从不同角度射入抛物面后汇聚于焦点;②涉及的核心数学概念包括抛物线、焦点、反射定律、解析几何;③作图要点——从下方『构造摘要』提炼用到了 Sequence(数列)、Point(点)、Max(最大值)、Circle(圆)等 GeoGebra 命令/对象;④适合高中及以上学生学习抛物线性质及光学原理,也可用于物理教学。
GeoGebra 命令及参数
Sequence((k, (-4 * a)), k, (-n), n, (2 * n / Nbpt)) → LpbasPoint(yAxis) → ASequence((k, y(A)), k, (-n), n, (2 * n / Nbpt)) → LphautSequence(((1 - t) * Element[Lphaut, k]) + (t * Element[Lpbas, k]), k, 1, Length[Lphaut]) → LptvermobSequence(Segment[Element[Lphaut, k], Element[Lptvermob, k]], k, 1, Length[Lphaut]) → LsegverSequence(Intersect[f, Element[Lsegver, k]], k, 1, Length[Lphaut]) → LpinterSequence(PolyLine[Element[Lphaut, k], Element[Lpinter, k], (0, (4 * a))], k, 1, Length[Lphaut]) → LbrisSequence(Tangent[Element[Lpinter, k], f], k, 1, Length[Lphaut]) → LtanSequence(If[y(((1 - t) * Element[Lphaut, k]) + (t * Element[Lpbas, k])) > y(Element[Lpinter, k]), ((1 - t) * Element[Lphaut, k]) + (t * Element[Lpbas, k]), Mirror[((1 - t) * Element[Lphaut, k]) + (t * Element[Lpbas, k]), Element[Ltan, k]]], k, 1, Length[Lphaut]) → LptmobSequence(Segment[Element[Lpinter, k], Element[Lptmob, k]], k, 1, Length[Lphaut]) → l4Sequence(PolyLine[Element[Lphaut, k], Element[Lpinter, k]], k, 1, Length[Lphaut]) → l5Sequence(If[y(Element[Lptvermob, k]) ≥ y(Element[Lpinter, k]), Segment[Element[Lphaut, k], Element[Lptmob, k]], Segment[Element[Lpinter, k], Element[Lptmob, k]]], k, 1, Length[Lphaut]) → l6Sequence(If[y(Element[Lptvermob, k]) < y(Element[Lpinter, k]), Segment[Element[Lphaut, k], Element[Lpinter, k]]], k, 1, Length[Lphaut]) → l7Sequence(If[Distance[Element[Lptmob, k], Element[Lpinter, k]] < 0.25, Tangent[Element[Lpinter, k], f]], k, 1, Length[Lphaut]) → LptanvarMax(t - 0.08, 0) → t'Sequence(((1 - t') * Element[Lphaut, k]) + (t' * Element[Lpbas, k]), k, 1, Length[Lphaut]) → l1Sequence(Vector[Element[l1, k], Element[Lptvermob, k]], k, 1, Length[Lphaut]) → l2Sequence(If[y(((1 - t') * Element[Lphaut, k]) + (t' * Element[Lpbas, k])) > y(Element[Lpinter, k]), ((1 - t') * Element[Lphaut, k]) + (t' * Element[Lpbas, k]), Mirror[((1 - t') * Element[Lphaut, k]) + (t' * Element[Lpbas, k]), Element[Ltan, k]]], k, 1, Length[Lphaut]) → Lptmob'Sequence(Vector[Element[Lptmob', k], Element[Lptmob, k]], k, 1, Length[Lphaut]) → l3Sequence(Segment[Element[Lphaut, k], Element[l1, k]], k, 1, Length[Lphaut]) → l9Sequence(If[t ≤ 1, PolyLine[Element[Lphaut, k], Element[Lpinter, k], Element[Lptmob', k]], PolyLine[Element[Lphaut, k], Element[Lpinter, k], Foyer]], k, 1, Length[Lphaut]) → l8Circle(Foyer, If[t ≤ 1.1, ((40 * a) * (t - 1))]) → c