답변:
이 질문은 지구의 타원체 모델을 가정합니다. 참조 표면은 단축을 중심으로 타원을 회전시켜 (일반적으로 수직으로 표시) 얻습니다. 이러한 타원은 배 가로 연신 한 단순한 원형이며 수직 배 B . 단위 원의 표준 매개 변수화를 사용하여
t --> (cos(t), sin(t))
( 코사인과 사인 을 정의 ) 매개 변수화를 얻습니다.
t --> (a cos(t), b sin(t)).
(이 매개 변수화의 두 구성 요소는 곡선 주위의 이동을 설명합니다. 직교 좌표에서 "time" t에 위치를 지정 합니다.)
측지 위도 , F는 어떤 시점의 적도면하게 "업"각도이다. 경우 상이 B 의 값 F 의 상이 t (적도 따라 제외하고 극).
이 그림에서 파란색 곡선은 그러한 타원의 1 사분면입니다 (지구의 편심에 비해 크게 과장되어 있음). 왼쪽 하단의 빨간색 점이 가운데입니다. 파선은 표면의 한 지점에 반경을 지정합니다. "위"방향은 검은 색 세그먼트로 표시됩니다. 정의상 그 시점에서 타원에 수직입니다. 과장된 편심으로 인해 "위"가 반경과 평행하지 않다는 것을 쉽게 알 수 있습니다.
우리의 용어에서 t 는 수평에 대한 반지름으로 만들어진 각도와 관련이 있으며 f 는 그 검은 색 세그먼트로 만들어진 각도입니다. ( 표면의 어떤 지점 이든 이 관점에서 볼 수 있습니다. 이렇게하면 t 와 f 가 0 도와 90도 사이가 되도록 제한 할 수 있습니다. 코사인과 사인은 양수이므로 음수에 대해 걱정할 필요가 없습니다. 공식의 제곱근.)
트릭은 t- 파라미터 화에서 f 로 1 로 변환하는 것 입니다. t 에서는 반경 R 이 (피타고라스 정리를 통해) 계산하기 쉽기 때문입니다 . 제곱은 점 구성 요소의 제곱의 합입니다.
R(t)^2 = a^2 cos(t)^2 + b^2 sin(t)^2.
이 변환을 수행하려면 "위"방향 f 를 매개 변수 t 와 관련시켜야합니다 . 이 방향은 타원의 접선에 수직입니다. 정의에 따르면, 곡선에 접선 (벡터로 표현)은 매개 변수화를 차별화하여 얻습니다.
Tangent(t) = d/dt (a cos(t), b sin(t)) = (-a sin(t), b cos(t)).
(차등화는 변화율을 계산합니다. 곡선을 따라 이동할 때 우리 위치의 변화율은 물론 속도 이며 항상 곡선을 가리 킵니다.)
"정상"벡터라고하는 수직선을 얻으려면이 시계 방향으로 90도 회전합니다.
Normal(t) = (b cos(t), a sin(t)).
이 법선 벡터의 기울기는 (a sin (t)) / (b cos (t)) ( "rise over run")과 동일하며 수평에 대한 각도의 접선입니다.
tan(f) = (a sin(t)) / (b cos(t)).
마찬가지로
(b/a) tan(f) = sin(t) / cos(t) = tan(t).
(유클리드 지오메트리에 대한 통찰력이있는 경우 a 와 b 의 결합 된 수평 및 수직 확장이 각각 a 와 b 의 조합으로 인해 변경의 효과가 있음을 인식함으로써 타원 정의에서 직접이 관계를 얻을 수 있습니다. 이 계수에 의한 모든 경사 b / a )
R (t) ^ 2에 대한 공식을 다시 살펴보십시오. 우리는 a 와 b를 알고 있습니다 -그들은 타원의 모양과 크기를 결정합니다. 따라서 cos (t) ^ 2와 sin (t) ^ 2 만 찾으면됩니다. 측면에서 F 위의 방정식은 우리가 쉽게 수행 할 수 있습니다 :
cos(t)^2 = 1/(1 + tan(t)^2)
= 1 / (1 + (b/a)^2 tan(f)^2)
= a^2 / (a^2 + b^2 tan(f)^2);
sin(t)^2 = 1 - cos(t)^2
= b^2 tan(f)^2 / (a^2 + b^2 tan(f)^2).
(tan (f)가 무한하면 극에 있으므로 f = t 로 설정 하면됩니다.)
이것이 우리가 필요로하는 연결입니다. cos (t) ^ 2 및 sin (t) ^ 2에 대한이 값을 R (t) ^ 2에 대한 표현식으로 대체하고
R(f)^2 = ( a^4 cos(f)^2 + b^4 sin(f)^2 ) / ( a^2 cos(f)^2 + b^2 sin(f)^2 ).
간단한 변형은이 방정식이 Wikipedia에있는 것과 동일하다는 것을 보여줍니다. a ^ 2 b ^ 2 = (ab) ^ 2 및 (a ^ 2) ^ 2 = a ^ 4이므로
R(f)^2 = ( (a^2 cos(f))^2 + (b^2 sin(f))^2 ) / ( (a cos(f))^2 + (b sin(f))^2 )
내 수학 문맹자 솔루션이 5 분 동안 사고와 코딩으로 작업을 수행했다는 사실에 흥미가 있다면, 완벽한 타원형 모델이 아닌 평탄화 요소를 고려해야하지 않습니까?
double pRad = 6356.7523142;
double EqRad = 6378.137;
return pRad + (90 - Math.Abs(siteLatitude)) / 90 * (EqRad - pRad);
return E + (P - E) * Abs(Lat) / 90
을 가질 필요는 없습니다 90 - ...
.
적어도 그것은 국방부 (DoD) 고성능 컴퓨팅 현대화 프로그램 (HPCMP) 위키 에 대한 미국 데이터 분석 및 평가 센터 (DAAC)에서 찾은 공식 입니다 . 그들은 위키피디아의 항목 에서 많은 돈을 빌렸다 고 말합니다 . 그럼에도 불구하고 그들이 그 공식을 유지했다는 사실은 무언가를 고려해야합니다.
(b^4 sin(f))^2
로 변경 해서는 안(b^4 sin(f)^2)
됩니까?