Jeodezikler bazı projeksiyonlarda sinüs dalgalarına biraz benzese de formül yanlıştır.
İşte Eşitlikli bir izdüşümde bir jeodezik. Açıkçası sinüs dalgası değildir:
(Arka plan resmi http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg adresinden alınmıştır .)
Tüm Eşitlikli projeksiyonlar bunun bir afin dönüşümleri (x koordinatının boylam ve y koordinatının enlem olduğu) ve sinüs dalgalarının afin dönüşümleri hala sinüs dalgaları olduğundan, herhangi bir şekilde herhangi bir jeodezik bekleyemeyiz Sinek dalgaları olmak üzere eşkenar dörtgen izdüşüm (yatay çizgi olarak çizilen Ekvator hariç). Öyleyse en baştan başlayalım ve doğru formülü çalışalım.
Böyle bir jeodezik denklemin formda olmasına izin verin
latitude = f(longitude)
f fonksiyonunun bulunması için. (Bu yaklaşım, böyle bir formda yazılamayan, ancak başka türlü tamamen genel olan meridyenlerden vazgeçmiştir.) 3D Kartezyen koordinatlara (x, y, z) dönüştürmek
x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))
burada l boylamdır ve birim yarıçap varsayılır (herhangi bir genellik kaybı olmadan). Küre üzerindeki jeodezikler, düzlemlerle (merkezinden geçerken) kesişimler olduğundan, jeodezik kutupları arasında yönlendirilen sabit bir vektör (a, b, c) olmalıdır.
a x + b y + c z = 0
l değeri ne olursa olsun . F (l) için çözme
f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)
ancak şu şartla ki c sıfırdan farklıdır. Açıkçası, c 0'a yaklaştığında, sınırda 180 derece farklı bir çift meridyen elde ederiz - tam olarak başlangıçta terk ettiğimiz jeodezikler. Yani her şey yolunda. Bu arada, görünüşe rağmen, bu a / c ve b / c'ye eşit iki parametre kullanır .
Tüm jeodeziklerin ekvatoru sıfır derece boylamda geçene kadar döndürülebileceğini unutmayın. Bu, f (l) 'in f0 (l-l0) cinsinden yazılabileceğini gösterir; burada l0, ekvator geçişinin boylamıdır ve f0, Prime Meridian'daki bir jeodezik geçişin ifadesidir. Buradan eşdeğer formülü elde ederiz
f(l) = ArcTan(gamma * sin(l - l0))
burada -180 <= l0 <180 derece, ekvator geçişinin boylamıdır (jeodezik, doğuya doğru giderken Kuzey Yarımküre'ye girerken) ve gama pozitif bir gerçek sayıdır. Buna meridyen çiftleri dahil değildir. Gama = 0 olduğunda , Ekvator'u l0 boylamında bir başlangıç noktasıyla belirtir; benzersiz bir parametreleştirme istiyorsak her zaman l0 = 0 alabiliriz. Bu sefer l0 ve gamma tarafından verilen sadece iki parametre var .
Görüntüyü oluşturmak için Mathematica 8.0 kullanılmıştır. Aslında, vektörün (a, b, c) kontrol edilebildiği ve karşılık gelen jeodeziklerin anında gösterildiği bir "dinamik manipülasyon" yarattı. (Çok güzel.) İlk önce arka plan resmini elde ediyoruz:
i = Import[
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]
İşte kodun tamamı:
Manipulate[
{a, b, c} = {Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]};
Show[Graphics[{Texture[i],
Polygon[{{-\[Pi], -\[Pi]/2}, {\[Pi], -\[Pi]/2}, {\[Pi], \[Pi]/2}, {-\[Pi], \[Pi]/2}},
VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}],
Plot[ArcTan[(a Cos[\[Lambda]] + b Sin[\[Lambda]]) / (-c)], {\[Lambda], -\[Pi], \[Pi]},
PlotRange -> {Automatic, {-\[Pi]/2, \[Pi]/2}}, PlotStyle -> {Thick, Red}]],
{u, 0, 2 \[Pi]}, {v, -\[Pi]/2, \[Pi]}]
rotation
,amplitude
veoffset
) bağlıdır ?