球面上三點確定任意一個圓(包括大圓)

圖一

如圖一,已知三個點,點1(α1,β1);點2(α2,β2);點3(α3,β3)。求這三點確定的圓。

我們都知道,單位球面上兩點之間的距離公式為:

S=arc cos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2]

顯然,若所求的圓存在,那麼圓心到三個點的距離就是相等的。設圓心為O(α0,β0)。

因為圓心到點1、點2的距離相等,所以

arc cos[cosβcosβ1cos(α-α1)+sinβsinβ1]=arc cos[cosβcosβ2cos(α-α2)+sinβsinβ2]

cosβcosβ1cos(α-α1)+sinβsinβ1=cosβcosβ2cos(α-α2)+sinβsinβ2

兩邊同時除以cosβ,得

cosβ1cos(α-α1)+tanβsinβ1=cosβ2cos(α-α2)+tanβsinβ2

tanβsinβ1-tanβsinβ2=cosβ2cos(α-α2)-cosβ1cos(α-α1)

tanβ(sinβ1-sinβ2)=cosβ2cos(α-α2)-cosβ1cos(α-α1)

tanβ=[cosβ2cos(α-α2)-cosβ1cos(α-α1)]/(sinβ1-sinβ2) (1)

所以圓心必滿足(1)式。圖一的藍色線就是(1)式的圖像。

同樣,圓心到點2、點3的距離相等,所以

arc cos[cosβcosβ2cos(α-α2)+sinβsinβ2]=arc cos[cosβcosβ3cos(α-α3)+sinβsinβ3]

cosβcosβ2cos(α-α2)+sinβsinβ2]=cosβcosβ3cos(α-α3)+sinβsinβ3

兩邊同時除以cosβ,得

cosβ2cos(α-α2)+tanβsinβ2=cosβ3cos(α-α3)+tanβsinβ3

tanβsinβ2-tanβsinβ3=cosβ3cos(α-α3)-cosβ2cos(α-α2)

tanβ(sinβ2-sinβ3)=cosβ3cos(α-α3)-cosβ2cos(α-α2)

tanβ=[cosβ3cos(α-α3)-cosβ2cos(α-α2)]/(sinβ2-sinβ3) (2)

所以圓心必滿足(2)式。圖二的紅色線就是(2)式的圖像。

再同樣,圓心到點1、點3的距離相等,所以

arc cos[cosβcosβ3cos(α-α3)+sinβsinβ3]=arc cos[cosβcosβ1cos(α-α1)+sinβsinβ1]

cosβcosβ3cos(α-α3)+sinβsinβ3=cosβcosβ1cos(α-α1)+sinβsinβ1

cosβcosβ3cos(α-α3)+sinβsinβ3=cosβcosβ1cos(α-α1)+sinβsinβ1

兩邊同時除以cosβ,得

cosβ3cos(α-α3)+tanβsinβ3=cosβ1cos(α-α1)+tanβsinβ1

tanβsinβ3-tanβsinβ1=cosβ1cos(α-α1)-cosβ3cos(α-α3)

tanβ(sinβ3-sinβ1)=cosβ1cos(α-α1)-cosβ3cos(α-α3)

tanβ=(cosβ1cos(α-α1)-cosβ3cos(α-α3))/(sinβ3-sinβ1) (3)

所以圓心必滿足(3)式。圖二的黃色線就是(3)式的圖像。

由於圓心同時滿足( 1 )、( 2 )式,所以

[cosβ2cos(α-α2)-cosβ1cos(α-α1)]/(sinβ1-sinβ2)=[cosβ3cos(α-α3)-cosβ2cos(α-α2)]/(sinβ2-sinβ3)

[cosβ2cos(α-α2)-cosβ1cos(α-α1)](sinβ2-sinβ3)=[cosβ3cos(α-α3)-cosβ2cos(α-α2)](sinβ1-sinβ2)

cosβ2cos(α-α2)sinβ2-cosβ1cos(α-α1)sinβ2-cosβ2cos(α-α2)sinβ3+cosβ1cos(α-α1)sinβ3=cosβ3cos(α-α3)sinβ1-cosβ2cos(α-α2)sinβ1-cosβ3cos(α-α3)sinβ2+cosβ2cos(α-α2)sinβ2

-cosβ1cos(α-α1)sinβ2-cosβ2cos(α-α2)sinβ3+cosβ1cos(α-α1)sinβ3=cosβ3cos(α-α3)sinβ1-cosβ2cos(α-α2)sinβ1-cosβ3cos(α-α3)sinβ2

-cosβ1(cosαcosα1+sinαsinα1)sinβ2-cosβ2(cosαcosα2+sinαsinα2)sinβ3+cosβ1(cosαcosα1+sinαsinα1)sinβ3=cosβ3(cosαcosα3+sinαsinα3)sinβ1-cosβ2(cosαcosα2+sinαsinα2)sinβ1-cosβ3(cosαcosα3+sinαsinα3)sinβ2

-cosβ1sinβ2(cosαcosα1+sinαsinα1)-cosβ2sinβ3(cosαcosα2+sinαsinα2)+cosβ1sinβ3(cosαcosα1+sinαsinα1)=cosβ3sinβ1(cosαcosα3+sinαsinα3)-cosβ2sinβ1(cosαcosα2+sinαsinα2)-cosβ3sinβ2(cosαcosα3+sinαsinα3)

-cosαcosα1cosβ1sinβ2-sinαsinα1cosβ1sinβ2-cosαcosα2cosβ2sinβ3-sinαsinα2cosβ2sinβ3+cosαcosα1cosβ1sinβ3+sinαsinα1cosβ1sinβ3=cosαcosα3cosβ3sinβ1+sinαsinα3cosβ3sinβ1-cosαcosα2cosβ2sinβ1-sinαsinα2cosβ2sinβ1-cosαcosα3cosβ3sinβ2-sinαsinα3cosβ3sinβ2

-cosαcosα1cosβ1sinβ2-cosαcosα2cosβ2sinβ3+cosαcosα1cosβ1sinβ3-cosαcosα3cosβ3sinβ1+cosαcosα2cosβ2sinβ1+cosαcosα3cosβ3sinβ2=+sinαsinα1cosβ1sinβ2+sinαsinα2cosβ2sinβ3-sinαsinα1cosβ1sinβ3+sinαsinα3cosβ3sinβ1-sinαsinα2cosβ2sinβ1-sinαsinα3cosβ3sinβ2

-cosα1cosβ1sinβ2-cosα2cosβ2sinβ3+cosα1cosβ1sinβ3-cosα3cosβ3sinβ1+cosα2cosβ2sinβ1+cosα3cosβ3sinβ2=tanα(+sinα1cosβ1sinβ2+sinα2cosβ2sinβ3-sinα1cosβ1sinβ3+sinα3cosβ3sinβ1-sinα2cosβ2sinβ1-sinα3cosβ3sinβ2)

-cosα1cosβ1sinβ2+cosα1cosβ1sinβ3+cosα2cosβ2sinβ1-cosα2cosβ2sinβ3-cosα3cosβ3sinβ1+cosα3cosβ3sinβ2=tanα(+sinα1cosβ1sinβ2-sinα1cosβ1sinβ3-sinα2cosβ2sinβ1+sinα2cosβ2sinβ3+sinα3cosβ3sinβ1-sinα3cosβ3sinβ2)

tanα=(-cosα1cosβ1sinβ2+cosα1cosβ1sinβ3+cosα2cosβ2sinβ1-cosα2cosβ2sinβ3-cosα3cosβ3sinβ1+cosα3cosβ3sinβ2)/(+sinα1cosβ1sinβ2-sinα1cosβ1sinβ3-sinα2cosβ2sinβ1+sinα2cosβ2sinβ3+sinα3cosβ3sinβ1-sinα3cosβ3sinβ2)

tanα=[cosα1cosβ1(-sinβ2+sinβ3)+cosα2cosβ2(sinβ1-sinβ3)+cosα3cosβ3(-sinβ1+sinβ2)]/[+sinα1cosβ1(sinβ2-sinβ3)+sinα2cosβ2(-sinβ1+sinβ3)+sinα3cosβ3(sinβ1-sinβ2)]

tanα=[cos(alpha1)cos(beta1)(-sin(beta2)+sin(beta3))+cos(alpha2)cos(beta2)(sin(beta1)-sin(beta3))+cos(alpha3)cos(beta3)(-sin(beta1)+sin(beta2))]/[+sin(alpha1)cos(beta1)(sin(beta2)-sin(beta3))+sin(alpha2)cos(beta2)(-sin(beta1)+sin(beta3))+sin(alpha3)cos(beta3)(sin(beta1)-sin(beta2))]

α0=α=arctan{[cosα1cosβ1(-sinβ2+sinβ3)+cosα2cosβ2(sinβ1-sinβ3)+cosα3cosβ3(-sinβ1+sinβ2)]/[+sinα1cosβ1(sinβ2-sinβ3)+sinα2cosβ2(-sinβ1+sinβ3)+sinα3cosβ3(sinβ1-sinβ2)]} (4)

根據 (4)式可以求出所求圓的圓心的α0角。

根據 (1)式及所求圓的圓心的α0角,就可以求出所求圓的圓心的β0角:

β0=β=arctan{[cosβ2cos(α0-α2)-cosβ1cos(α0-α1)]/(sinβ1-sinβ2) (5)

因為所求圓的圓心到所求圓的平面的垂直線亦垂直於所求圓的平面與赤道平面相交線,所以,所求圓的初始角γ[1]為

γ=pi/2-α0

同樣,因為通過球心和所求圓的圓心的直線垂直於所求圓的平面,所以,所求圓的平面與赤道平面的夾角的正切k[2]是:

k=-1/tan(β0)

所以,所求的圓的圓心到點1的距離,或者說圓的球面半徑r為

r=arc cos[cosβ1cosβ0cos(α1-α0)+sinβ1sinβ0]

若r等於pi/2,那麼這三個點所確定的就是大圓,否則就是小圓。

將所求出的γ、k、r代入下面的公式,我們就會得到由三點確定的圓的表達式。

圖二

β=arctan[k*sin(α-γ)]+arcsin[cos(r)*(1+k^2)^(1/2)/(1+(k*sin(α-γ))^2)^(1/2)];[3]

所以,在球面上已知三點就可以確定一個圓。這個圓可以是大圓,也可以是小圓。如圖二綠色曲線就是1、2、3所確定的小圓。

參考

  1. ^http://zhuanlan.icpchaxun.com/p/152944873
  2. ^http://zhuanlan.icpchaxun.com/p/152944873
  3. ^http://zhuanlan.icpchaxun.com/p/152944873

发表回复

相关推荐

谁说英专生只能当老师?这10种职业了解一下?

【24专八备考资料包】扫码就能免费领取!速来!(截至日期:9月13日晚19:00)

· 7秒前

草学考研院校排名及考研难度分析

草学专业作为一个农学下面的学科,也不可例外的是一个综合性的学科,交叉著很多专业知识,可以说它既涉及农学也涉及环境学等 ...

· 1分钟前

话说打不死的小强

话说“打不死的小强” 前几年,网络上有个热点词语:打不死的小强。其寓意泛指小强(又叫蟑螂)因生命力顽强久灭不绝!它有时 ...

· 4分钟前

受够了WIN10自动更新?阿虚教你一键禁止!

遇到不少粉丝在问了,所以今天出个一键式禁止Win10更新教程

· 6分钟前

超有用的科普知识,看了帮助你一生

油盐酱醋,百般味道~在我们的厨房中,酱油早已是必不可少的调味品。从改革开放前的散装酱油到后来的袋装酱油,高鲜酱油,到 ...

· 7分钟前