S13G2 椭圆内的迭代反射
光在椭圆内会进行怎样的反射呢?这次让我们用 GGB 的表格迭代探究椭圆迭代的反射路径.

1 椭圆内的单次反射

说明:在x轴上构造焦点E、F,在y轴上构造点A,利用椭圆工具构造椭圆elp,在椭圆上任选两点B1、B2,构造直线B1B2,过B2构造椭圆elp的切线,过B2构造切线的垂线,与椭圆交于点B3.
操作:
F=Point(y=0)
E=Reflect(F,x=0)
A=Point(x=0)
elp=椭圆(E,F,A)
B1=Point(elp)
B2=Point(elp)
f:Line(B1,B2)
g:切线(B2,elp)
h:垂线(B2,g)
f':Reflect(f,h)
B3=交点(f',elp,1)
2 椭圆内的多次反射

说明:把切线、法线对应到表格区,把直线B1B2关于法线D2对称,取得与椭圆的一个交点B3,在F列第2行输入向量(B1,B2),利用表格进行迭代,在A列输入显示范围,构造滑动条tp来依次显示法线、切线以及向量的显示.
操作:
打开表格区,把切线g、法线h重新命名为C2、D2,删除f、f'
B3=intersect(elp,reflect(Line(B1,B2),D2),1)
F2输入:Vector(B1,B2)
构造滑动条tp,0≤tp≤15,增量0.1
选择B3、C3、D3、F3向下复制
在A1输入1,A2输入=A1+1,向下复制
选择C2列,属性-高级-显示条件:A1 < tp < A2,向下复制
选择D2列,属性-高级-显示条件:A1 < tp < A2,向下复制
选择F2列,属性-高级-显示条件:A1 < tp ,向下复制
3 利用Point做出拉伸效果

说明:利用Point取线段B1B2的分点E2,向量:Vector(B1,B2)调整为Vector(B1,E2),取消显示条件:A1 < tp ,再复制E、F列.
操作:
E2=Point(Segment(B1,B2),tp-A1+1),复制
取消F列的显示条件:A1 < tp
F2改为:Vector(B1,E2),复制
小结
关键在于构造椭圆内的第一次反射, 再利用表格复制,最后搭配Point指令取得线段的分点,可达到向量逐渐延伸的效果.对于表格的迭代功能还可参考

相关资料
【GGB】https://www.geogebra.org/classic/tppb9dgj
【Bili】https://www.bilibili.com/video/BV1Bu411U74v/
【YouTube】https://www.youtube.com/playlist?list=PLXH05kw-i_5IsLw9bIZySgDAQiZa2mIm7