일부 투영에서는 측지선이 사인파처럼 보이지만 공식은 올바르지 않습니다.
Equirectangular 투영에서 하나의 측지선이 있습니다. 분명히 사인파가 아닙니다.
(배경 이미지는 http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg 에서 가져온 것입니다 .)
모든 Equirectangular 투영은이 좌표의 아핀 변환이고 (x 좌표는 경도이고 y 좌표는 위도 임) 사인파의 아핀 변환은 여전히 사인파이므로 어떤 형태의 측지선도 예상 할 수 없습니다. 정사각형으로 사인파를 만듭니다 (수평선으로 표시되는 적도 제외). 처음부터 시작하여 올바른 공식을 만들어 봅시다.
그러한 측지선의 방정식을 다음과 같은 형식으로 만드십시오.
latitude = f(longitude)
함수 f 를 찾을 수 있습니다. (이 접근 방식은 이미 자오선에 대해 포기했지만 이러한 형식으로 작성할 수는 없지만 완전히 일반적입니다.) 3D 데카르트 좌표 (x, y, z)로 변환하면
x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))
여기서 l 은 경도이며 단위 반경이 가정됩니다 (일반성이 손실되지 않음). 구의 측지선은 중심을 통과하는 평면과의 교차점이므로 측지선 의 극 사이를 향하는 일정한 벡터 (a, b, c) 가 있어야합니다.
a x + b y + c z = 0
l 의 가치가 무엇이든간에 . f (l)에 대한 해는
f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)
제공된 C는 제로이다. c 가 0에 가까워 질 때 우리 는 180도 차이가 나는 한 쌍 의 자오선을 얻을 수있을 것 입니다. 모든 것이 좋습니다. 그런데 모양에도 불구하고 a / c 및 b / c와 같은 두 개의 매개 변수 만 사용합니다 .
모든 측지선은 경도가 0 도인 적도를 지나갈 때까지 회전 할 수 있습니다. 이것은 f (l)이 f0 (l-l0)의 관점에서 쓰여질 수 있음을 나타냅니다. 여기서 l0은 적도 교차점의 경도이고 f0은 Prime Meridian에서의 측지 교차점의 표현입니다. 이것으로부터 우리는 동등한 공식을 얻습니다.
f(l) = ArcTan(gamma * sin(l - l0))
여기서 -180 <= l0 <180 도는 적도 교차점의 경도 (동쪽으로 여행 할 때 측지선이 북반구에 진입하기 때문에)이고 감마 는 양의 실수입니다. 자오선 쌍은 포함되지 않습니다. 경우 감마 = 0이 경도 L0의 시작 지점과 적도를 지정한다; 고유 한 매개 변수화를 원할 경우 항상 l0 = 0을 취할 수 있습니다. 이번에 는 l0과 gamma로 제공되는 두 개의 매개 변수가 여전히 있습니다 .
Mathematica 8.0을 사용하여 이미지를 만들었습니다. 실제로 벡터 (a, b, c)를 제어 할 수 있고 해당 측지선이 즉시 표시되는 "동적 조작"을 만들었습니다. (정말 멋지네요.) 먼저 배경 이미지를 얻습니다.
i = Import[
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]
전체 코드는 다음과 같습니다.
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
및offset
) 에 의존 합니까?