S16G4海岸救生最快路径问题
两点之间直线最短,那如果在沙滩上有个救生员,发现海上有人遇险,那救生员是沿直线前进吗?这个问题其实与光的折射有关,就让用 GGB 来探究吧!

1 计算最短时间

说明:构造沙滩以及海洋各自的路程da、db,显示对应的速度va、vb以及时间ta、tb.
操作:
A=Point(x=0)
在x轴下方任选点B,在x轴上任选点P,连接PA、PB
da=Segment(P,A),db=Segment(P,B)
构造滑动条va,vb,范围1-3,增量为0.1
ta=da/va,tb=db/vb
文本设置:沙滩时间 ta,海洋时间 tb
总路程 da+db,总时间 ta+tb
2 可调速度的动点

说明:利用if分段设置可以调节速度的动点Pt,分别在AP、PB上运动.
操作:
构造时间滑动条t,最小为0,最大为ta+tb,增量0.1
Pt=if(t<ta,A+t(P-A)/ta,P+(B-P)(t-ta)/tb)
3 验证最快时间与折射率

说明:验证最快时间与折射率之间的关系,当折射率之比等于速度之比时,耗时最短.
操作:
构造圆P:Circle(P,min(-y(B),y(A)),与PA、PB分别交于点C、D
过点P构造x轴的垂线f
ha=Segment(C,closestPoint(C,f))
hb=Segment(D,closestPoint(D,f))
显示文本:\frac{ha}{hb}=ha/hb
设置验证的勾选框
相关资源
【GGB】https://www.geogebra.org/m/n68ccnmk
【Bili】https://www.bilibili.com/video/BV1jt4y1N7Y8/
【YouTube】https://www.youtube.com/playlist?list=PLXH05kw-i_5ItGkI_heWespvK1VraZzkd