最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

S5G4 球上的大圓路徑

2022-02-26 14:52 作者:學用數學  | 我要投稿

從北京飛到紐約可不是要飛越太平洋,而是要經過北極圈。這可不是因為怕飛機掉到太平洋中,而是因為這是走球面上兩點最近的的大圓路徑。對于這類立體幾何問題,用 GGB 呈現(xiàn)就直觀很多。更有趣的是自己動手來做看看時,更可體會到更多數學原理。

?

你將學會

  1. 球面極坐標的觀念

  2. 站在巨人肩膀上,學會改編優(yōu)良作品

  3. 了解球面上的地圖是由很多折線段構成

  4. 利用序列來繪制經緯線

  5. 利用叉積來取得球面上的大圓

  6. 將球面上xyz坐標轉換為極坐標


學習指引

二、地球上的經緯度如何解讀

在探究球面上大圓的距離前,先來認識所謂的經緯度的到底是指那些角度?


問:如何確定? E 116°、 N 40°? 的位置?

答:可從赤道與本初子午線的交會點 A,沿著赤道往東 116°,再往北移動 40°?,所到的位置就是? E 116°、 N 40°。



三、參考他人作品

在 GGB 的最佳學習資料就是 GGB 官網,上面有很多優(yōu)秀作品。我第一次看到 GGB 上刻畫著世界地圖時,也覺得很神奇,這到底如何做到的。而要解決這個困惑,其實就是打開他人作品觀看源代碼。接著在一步步拆解反思他人的指令到底是什么意思,就可學到很多技巧。



問:如何畫出地球上的地圖?

答:這些地圖,主要是有很多折線來完成。而這些折線的檔案主要取至自于 Rafael Losada Liste 的作品。?https://ggb123.cn/m/uT3czZnE

他在這系列的第二、三個作品都很精美,鼓勵大家去研究。本文只先利用他第一個地圖的基礎來發(fā)展練習。


問:如何解讀這些折線?

答:這個地圖共有 206 個折線檔案,我們先來看其中一小段折線。以臺灣為例,這段折線共有 9 個點。其中開頭與結尾都是 (5;2.125;0.426)?,所以連成一個封閉曲線。

Taiwan?=?折線((5;?2.125;?0.426),?(5;?2.115;?0.398),?(5;?2.107;?0.383),?(5;?2.098;?0.398),?(5;?2.096;?0.411),?(5;?2.106;?0.428),?(5;?2.121;?0.442),?(5;?2.128;?0.436),?(5;?2.125;?0.426))

問:這折線的每個點是如何解讀?

答:這是空間中的極坐標表示,要注意,每個坐標內用 ;來隔開。


問:如何找到臺灣的折線的呢?

答:首先,臺灣的最北端為富貴角大約位在?東經 121.5?,?北緯 25.25?。因此,將 121/180*3.1416?得到?2.11 ,?北緯 25.25/180*3.1416=0.44 。接著在找尋 (5; 2.121?后,再去檢查?第三個位置大約 0.44??烧业??(5;?2.121;?0.442)?。



四、如何繪制經緯線

?目的:利用Sequence,可以完成這些經緯線。


問:如何繪制赤道?

答:先利用 Circle 來繪制空間中的大圓,但空間中的圓要給一個垂直與圓所在平面的向量。因此先定 vy ?來繪制赤道 Lat0。

vz?=?向量((0,0,1))

R = 5

Lat0?=?圓周(O,R,vz)

問:如何繪制經線?

答:先繪制個子午線,再將這個大圓繞z軸旋轉。

vy?=?向量((0,1,0))

Long0?=?圓周(O,R,vy)

Longs?=?序列(旋轉(Long0,?pi/6*k,?直線(O,vz)),k,0,5)



問:如何繪制緯線?

答:每條緯線所對應圓的圓心與半徑都不相同。因此先繪制球心 Os,接著再設定半徑 Rs,再利用這些圓心與半徑畫緯線 Lats。

Os?=?序列((0,0,?R*sin(pi/6?*k)),k,-2,2)

Rs?=?序列(R*cos(pi/6*k),k,-2,2)

Lats?=?序列(圓周(Os(k),?Rs(k),?直線(O,vz)),?k,?1,5)


五、如何繪制大圓

目的:大圓為通過圓心 O點,要繪制這個圓的關鍵在于取得O,A,B 的法向量。


問:如何取得大圓的圓???

答:先利用 [叉積]?取得過 O,A,B 平面的法向量,再利用此向量來繪制過 A, B的大圓。接著利用 [圓弧] 指令,就可畫過大圓的圓弧。

Earth?=?球面(O,R)

A?=?描點(Earth)

B?=?描點(Earth)

nAB?=?叉積(向量(O,A),向量(O,B))

cOAB?=?圓周(O,A,B)

arcOAB?=?圓弧(O,A,B)


六、如何繪制過地圖上中點的小圓?

目的:這題的關鍵在于取得 A,B 兩點的經緯度坐標。


問:如何取得經緯度坐標?

答:利用反三角函數。緯度為 asin(z/R), ?經度為 atan(y/x)

LongA?=?atand(y(A)/x(A))

LatA = asind(z(A)/R)

LongB?=?atand(y(B)/x(B))

LatB?=?asind(z(B)/R)

LongM?=?(LongA+LongB)/2?

LatM?=??(LatA+LatB)/2

M?=?(R;LongM;LatM)?

問:為何上面取得的經緯度來計算中點 M 時,不一定會出現(xiàn)在兩點中間?

答:因為反三角函數的值域的限制,這時通過 [如果]?來將角度調整為 -180?到 180。這時獲得正確的位置后,就可用?[三點圓弧] 來繪制圓弧。

LongAp?=?如果(x(A)?>?0,?atand(y(A)?/?x(A)),?如果(y(A)?>?0,?180°?+?atand(y(A)?/?x(A)),?-(180°)?+?atand(y(A)?/?x(A))))

LongBp?=?如果(x(B)?>?0,?atand(y(B)?/?x(B)),?如果(y(B)?>?0,?180°?+?atand(y(B)?/?x(B)),?-(180°)?+?atand(y(B)?/?x(B))))

LongMp?=?如果(abs(LongAp?-?LongBp)?<?π,?(LongAp?+?LongBp)?/?2,?(LongAp?+?LongBp)?/?2?+?180°)

Mp?=?(R;LongMp;LatM)cArcAMB?=三點圓弧(A,Mp,B)


小結

基于上面結果,大家可嘗試增加些復選框,并試著利用地球半徑 6371 來模擬地球上兩點的大圓距離。


相關鏈接

【GGB】https://ggb123.cn/classic/uvvgrqjv

【Bili】https://www.bilibili.com/video/bv1pk4y167d6


S5G4 球上的大圓路徑的評論 (共 條)

分享到微博請遵守國家法律
凭祥市| 亳州市| 丹东市| 富裕县| 台江县| 台州市| 远安县| 惠水县| 通道| 丰镇市| 洮南市| 淮南市| 固始县| 金堂县| 德格县| 皮山县| 宁河县| 万荣县| 方山县| 乐亭县| 和平区| 灵武市| 前郭尔| 山丹县| 波密县| 长武县| 玛纳斯县| 平定县| 屏东县| 屯门区| 弥勒县| 醴陵市| 阜阳市| 延庆县| 车致| 高陵县| 万安县| 房产| 金阳县| 浙江省| 志丹县|