欢迎光临散文网 会员登陆 & 注册

S8G2 日出方位與影長變化

2022-01-06 09:26 作者:学用数学  | 我要投稿

冬至,是一年白天最短的一天。那為何會有白天黑夜消長的現象呢?在教材中有個靜態的太陽軌跡說明圖。這其實是個動態的 3D 變換,光靠想象像難度還是很高。然而這些天體運行都可用數學來分析。在本週的 GGB 課程來動手實作,並瞭解太陽運行軌跡的秘密。通過這個模擬就可算出地球上不同經緯度的不同時刻,日出、日落是發生在何時,還可得知太陽在哪個方位升起,不同時間的影長是如何變化。


Part 1  製作天球赤道

說明:

要模擬不同緯度的天空,就需要建立天球模型。也就是以北極星的方位來定義轉軸,並由此來繪制一個天球赤道。

先設定 東西南北四個方位 EWSN  。若地表所在的緯度 lat = 30 度,則北極星 EN 就可設定為北方仰角 lat 度。可通過旋轉 Rotate(N,lat,Line(O,E)) 來完成。

而此時天球赤道就設定為 以 Line(O,EN) 為轉軸,過 E 點的大圓。

操作:

O=(0,0,0);E=(1,0,0);N=(0,1,0)

W=-E;S=-N

T=(0,0,1)

Sphere(O,T)

Circle(O,E,Line(O,T))

lat=30deg,-90deg≤ lat ≤90deg

EN=Rotate(N,lat,Line(O,E))

Circle(O,E,Line(O,EN))


Part 2  製作太陽軌道


說明:

完成天球赤道後,要建立太陽軌道。太陽的軌道位置與太陽的直射角 sAngle 有關。

當 sAngle =0 時,太陽的軌道就是天球赤道。

其他時刻太陽所在的軌道可通過將天球赤道上 EE 點旋轉 sAngle 得到 ST ,接著再製作一個過 ST 以 Line(O,EN) 為軸的圓,就可得到太陽軌道 sOrbit 。

操作:

EE=Rotate(EN,90deg,Line(O,E))

sAngle=23.5deg,-23.5deg≤ sAngle ≤23.5deg,间隔:0.5deg

ST=Rotate(EE,-sAngle,Line(O,E))

SO=ClosetPoint(line(O,EN),ST)

sOrbit=Circle(SO,ST,Line(SO,EN))


Part 3  讓太陽動起來


說明:

有了太陽軌道,就可讓太陽在軌道運行。而軌道與地平面的兩個交點分別設定為 sunrise, sunset 表示日出的日落的位置。

通過與測量 anlge( SO, ST, Sunrise) 的角度大小,可以計算出太陽在上半球的軌道與下班求的軌道長度比,進而可以推算出日出日落的時間。

操作:

t=12,0 ≤ t≤24,以0.1递增

Sun=Rotate(ST,180deg-15deg*t,Line(SO,EN))

sunset=Intersect(c,sOrbit,1)

sunrise=Intersect(c,sOrbit,2)

sunriseTime=12 - angle(sunrise, SO, ST) / 180deg * 12

sunsetTime=12 + angle(sunset, SO, ST) / 180deg * 12


Part 4  顯示日出日落時間


說明:

為了顯示日出、日落時間,分別對日出以及日落的時鐘和分鐘取整,再文本顯示

操作:

sunriseTH=floor(sunriseTime)

sunriseTM=floor((sunriseTime-floor(sunriseTime))*60)

sunsetTH=floor(sunsetTime)

sunsetTM=floor((sunsetTime-floor(sunsetTime))*60)

文本顯示日出及日落時間


Part 5  顯示影長變化

說明:

可在 O 點上方立個長度為 h 的竿 Segment(O,P) 來觀察不同時刻的影長變換。通過 Ray(sun,P) 與平面的交點可以取得竿影的端點。但只要在上半平面才會有影子出現,可以設定 z(sun)> 2h,才讓影子出現。

操作:

h=0.2

P=(0,0,h)

rSun=Ray(Sun,P)

R=Intersect(rSun,z=0)

sOR=Segment(O,R)

sOP=Segment(O,P)

r=sOR/sOP

隐藏rSun,u=Vector(Sun,R)

向量u、點R、線段sOR的顯示條件均設置:z(Sun) > 2h


小結

在這次任務中,通過模擬太陽在天球運行,瞭解不少地球科學的相關知識。這些現通過 GGB 就可讓我們推算日照長短、日出方位的訊息,並將其可視化。要描述這些天體運行的本質語言還是數學,在這次的製作中也再次感受到數學的有用。你還有天文物理現象想用 GGB 模擬實現的也歡迎留言交流吧,讓我們一起用 GGB 來探究世界。


连接

【GGB】https://www.geogebra.org/classic/ppadeaum
【Bili】https://www.bilibili.com/video/bv1Mt4y1k7pw
【YouTube】https://www.youtube.com/playlist?list=PLXH05kw-i_5L1Qd_KKPEH1WYQ_a30J-qf

S8G2 日出方位與影長變化的评论 (共 条)

分享到微博请遵守国家法律