Parabolic Reflector Animation
Loading the math board and drawing, please wait…
This example demonstrates the properties of a parabolic reflector through animation, showing how light rays from different angles converge at the focal point after reflecting off the parabola. Key math concepts include parabola, focus, reflection laws, and coordinate geometry. Construction highlights involve commands like Sequence, Point, Max, and Circle from GeoGebra. Suitable for high school and above students studying parabolic properties and optical principles, or for physics education.
GeoGebra Commands & Parameters
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