Küre üzerinde, uçakta olduğundan daha zor değil.
Sonuç olarak, sorun, bir çizginin bir küreyle kesişmesiyle azalır, ki bu kolaydır.
İşte detaylar. Girişler, bir küre olarak kabul edilen, dünya yüzeyinde P1 = (lat1, l1) ve P2 = (lat2, l2), ve karşılık gelen iki yarıçapı rl ve r2'dir.
(Lat, lon) (x, y, z) jeosantrik koordinatlarına dönüştürün. Her zamanki gibi, çünkü dünyanın birim yarıçapa sahip olduğu ölçü birimlerini seçebiliriz,
x = cos(lon) cos(lat)
y = sin(lon) cos(lat)
z = sin(lat).
Örnekte, P1 = (-90.234036 Derecesi, 37.673442 Derecesi), x1 = (-0.00323306, -0.7915, 0.61116) Jentrik koordinatlarına ve P2 = (-90.953669 Derecesi, 36.109997 Derecesi), x = = (-90.953669 Derecesi, - 36.109997 Derece) , 0,589337).
Radii r1 ve r2'yi (küre boyunca ölçülür) küre boyunca açılara dönüştürün. Tanım olarak, bir deniz mili (NM) 1/60 ark derecesidir (pi / 180 x 1/60 = 0,0002908888 radyan). Dolayısıyla açılar olarak
r1 = 107.5 / 60 Degree = 0.0312705 radian
r2 = 145 / 60 Degree = 0.0421788 radian
Jeodezik x1 çevresinde yarıçapı r1 çemberi bir ile toprak yüzeyinin kesişimidir Öklid yarıçapı sin alanında (R1) (R1) * x1 cos merkezlenmiş.
Cos (r1) * x1 etrafındaki günah yarıçapı küresi (r1) ile kesişme noktası tarafından belirlenen düzlem ve x1'e diktir ve cos (r1) x1 noktasından geçerek denkleminin x.x1 = cos olduğu (r1) ("." olağan nokta ürününü temsil eder ); diğer uçak için de aynı şekilde. X1 ve x2'nin doğrusal bir birleşimi olan bu iki düzlemin kesişme noktasında benzersiz bir x0 noktası olacaktır. Yazma x0 = a x1 + b * x2 iki düzlemsel denklem
cos(r1) = x.x1 = (a*x1 + b*x2).x1 = a + b*(x2.x1)
cos(r2) = x.x2 = (a*x1 + b*x2).x2 = a*(x1.x2) + b
Q olarak yazacağım x2.x1 = x1.x2 olduğu gerçeği kullanılarak çözüm (varsa) aşağıdakiler tarafından verilir:
a = (cos(r1) - cos(r2)*q) / (1 - q^2),
b = (cos(r2) - cos(r1)*q) / (1 - q^2).
Çalışan örnekte, a = 0.973503 ve b = 0.0260194'ü hesaplarım.
Açıkça q ^ 2! = 1'e ihtiyacımız var. Bu, x1 ve x2'nin ne aynı nokta ne de antipodal nokta olamayacağı anlamına gelir.
Şimdi, iki düzlemin kesişme çizgisindeki diğer tüm noktalar, her iki düzlemde karşılıklı olarak dik olan bir vektörün n bir çarpımı tarafından x0'dan farklıdır. Çapraz ürün
n = x1~Cross~x2
n sağlanan iş sıfır değil mi: bir kez daha, bu, x1 ve x2'nin ne çakışan ne de çapsal olarak zıt olduğu anlamına gelir. (Çapraz ürünü yüksek hassasiyetle hesaplamaya özen göstermeliyiz, çünkü x1 ve x2 birbirine yakın olduğunda, çok fazla iptal içeren çıkarmaları içerir.) Örnekte, n = (0.0272194, -0.00631254, -0.00803124) .
Bu nedenle, dünyanın yüzeyinde yatan x0 + t * n formunun iki noktasına kadar ararız: yani uzunlukları 1'e eşittir. Eşdeğer olarak, kare uzunlukları 1'dir:
1 = squared length = (x0 + t*n).(x0 + t*n) = x0.x0 + 2t*x0.n + t^2*n.n = x0.x0 + t^2*n.n
X0.n ifadesi yok olur çünkü x0 (x1 ve x2'nin doğrusal bir birleşimidir) n'ye diktir. İki çözüm kolayca
t = sqrt((1 - x0.x0)/n.n)
ve olumsuz. Bir kez daha yüksek hassasiyet aranıyor, çünkü x1 ve x2 yakın olduğunda, x0.x0 1'e çok yakın, kayan nokta hassasiyetinde bir kayıp meydana geliyor. Örnekte, t = 1.07509 veya t = -1.07509. İki kesişme noktası bu nedenle eşit
x0 + t*n = (0.0257661, -0.798332, 0.601666)
x0 - t*n = (-0.0327606, -0.784759, 0.618935)
Son olarak, bu çözümleri geocentric (x, y, z) 'yi coğrafi koordinatlara dönüştürerek geri (lat, lon)' a dönüştürebiliriz:
lon = ArcTan(x,y)
lat = ArcTan(Sqrt[x^2+y^2], z)
Boylam için, -180 - 180 derece aralığındaki genelleştirilmiş geri dönen değerleri kullanın (hesaplama uygulamalarında bu işlev her ikisini de alır. y y'yi sadece y / x oranından ziyade argüman olarak ; bazen "ATan2" olarak da adlandırılır).
Şekilde sarı noktalar olarak gösterilen iki çözeltiyi (-88.151426, 36.989311) ve (-92.390485, 38.238380) elde ediyorum.
Eksenler jeosantrik (x, y, z) koordinatlarını görüntüler. Gri yama, dünya yüzeyinin -95 ila -87 derece boylam, 33 ila 40 derece enlem (bir derece gratikül işaretli) kısmıdır. Dünyanın üç yüzeyi de göstermek için dünyanın yüzeyi kısmen saydamlaştırılmıştır. Hesaplanan çözümlerin doğruluğu sarı noktaların kürelerin kesişme noktalarında nasıl durduğuyla belirgindir.