2011년 7월 10일 일요일

구 좌표계(球座標系, spherical coordinate system)



[경고] 아래 글을 읽지 않고 "구 좌표계"를 보면 바보로 느껴질 수 있습니다.


[그림 1] 구 좌표계의 표현(출처: wikipedia.org)

[그림 1]과 [그림 2]의 구 좌표계(球座標系, spherical coordinate system)는 직교 좌표계(orthogonal coordinate system) 중에서도 상당히 난해한 좌표계에 속한다.
[그림 2] 구 좌표계값의 변화 모습(출처: wikipedia.org)

[그림 1]의 좌표계 구성으로 인해 데카르트 좌표계 $X$에서 구 좌표계 $U$로 가는 좌표 변환(coordinate transform)은 아래와 같다.

                  (1)

식 (1)은 [그림 3]과 삼각 함수(trigonometric function)를 이용해 쉽게 유도할 수 있다.

[그림 3] 데카르트 좌표계와 구 좌표계의 상호 변환(출처: wikipedia.org)

식 (2)의 계량 텐서(metric tensor)와 관련된 척도 인자(尺度因子, scale factor) $h_i$는 식 (3)처럼 계산된다.

                         (2)

                         (3)

식 (1)을 식 (3)에 대입해 계산하면 구 좌표계의 척도 인자를 얻을 수 있다.

                         (4)


                       (5)

        (6)

                       (7)

                       (8)

그러면, 구 좌표계에 대한 벡터 연산자를 모두 정의할 수 있다.

                       (9)

                       (10)

            (11)

                       (12)

다음으로 구 좌표계를 구성하는 단위 벡터(unit vector)를 데카르트 좌표계 관점으로 계산해보자.

                       (13)

식 (13)의 첫째식을 이용하면 위치 벡터(position vector)는 $\bar P = r \hat r = (x, y, z)$로 간단하게 표현된다.
또한 식 (13)이 표현하는 것처럼 단위 벡터 $\rho, \theta, \phi$는 극고도각(極高度角, polar angle: $\theta$는 꼭대기부터 시작해 내려오기 때문에 일반 고도각과는 정의가 약간 다름) $\theta$와 방위각(方位角, azimuth) $\phi$에 따라 변한다. 따라서 단위 벡터 $\rho, \theta, \phi$를 미분할 때는 극고도각과 방위각의 변화율을 반드시 고려해야 한다.

                       (14)

식 (14) 정의에서 아래의 원통 좌표계 단위 벡터를 사용하였다.

                       (15)

식 (13)을 이용하면 데카르트 좌표계를 구 좌표계로 바꾸어주는 공식을 행렬(matrix) 형태로 만들 수 있다.

        (16)

식 (16)에서 재미있는 것은 행렬 ${\bf T}_{sr}$과 ${\bf T}_{rs}$가 서로 전치 행렬(transpose) 관계라는 것이다.

댓글 14개 :

  1. 감사합니다 큰도움이 되었습니다!

    답글삭제
  2. 감사합니다. 은인님

    답글삭제
  3. 텐서부터 여기까지 쭉봤는데 궁금한게 있습니다. 구좌표에서 위치벡터를 r=rr^ 로만 쓰는데 이게 원점이 각에 무관해서 그런건가요? 그림을봐도 그렇고 책에도 이렇게 쓴다고만 나와서 그냥 그렇구나 했는데 무슨 수학적인 이유같은게 있나해서요. 그리고 위치벡터미분 dr을 보면 앞에 척도인자가 곱해지잖아요. 이게 d(rr^)하면 그냥 나오는걸로만 알고있었는데 여기 텐서에 올라온 내용보면 위치벡터 미분을 공변,반변벡터로 dr=a^idu_i 이런식으로 정의되는데 이게 보다 일반적이니까 이식에서 직교좌표에서 앞에 척도인자가 곱해지는 모양을 유도할 수 있나요? 자꾸 질문드려 죄송합니다.

    답글삭제
  4. 별 말씀을 다 하시네요! 서로 질문하면서 배워가는 거지요.

    1. 위치벡터는 P = (x, y, z) - (0, 0, 0)으로 정의하므로 이 정의에 식 (13)을 대입하면 말씀하신 구좌표계의 위치벡터를 얻을 수 있습니다.

    2. 구좌표계에 대한 미분 연산자는 완전미분을 사용해도 쉽지만 복잡하게(?) 증명됩니다. 하지만 텐서이론과의 연결고리를 만들면 식 (13)은 거의 자동으로 유도됩니다. 이해를 돕기 위해 아래 문서에서 식 (20)을 보면 바로 이해될 것입니다.

    http://ghebook.blogspot.kr/2011/07/tensor-calculus-for-orthogonal-systems.html

    답글삭제
    답글
    1. 매번 답변해 주셔서 감사합니다. 위치벡터는 말씀대로 정말 그냥 대입하니까 rr^만 남고 다 지워지네요. 그리고 (13)번식을 잘 보니까 반변벡터를 단위벡터로 정의한것이네요.그렇게 하면 위치벡터 미분앞에 척도인자가 곱해지는 모양이 되는군요.

      삭제
  5. 으어어 외계어다 외계어.

    답글삭제
  6. 제가 알기로는 Tsr 과 Trs는 전치행렬로 나오는 것이 아니라 서로 같게 나오는 Tsr =Trs 로 나와야 합니다. 또한 이행렬은 자기 스스로가 역행렬인걸로 알고 잇습니다. 딱봐도 Tsr 과Tsr의 곱이 단위행렬로 안나오네요.. 수정바랍니다.

    답글삭제
    답글
    1. 식 (16)에 있는 행렬은 직교 행렬(orthogonal matrix)이라서, 전치 행렬 = 역행렬이 되는 것이 맞습니다, 익명님. 현재로는 고칠 부분이 없네요. ^^

      삭제
  7. 글 잘 일고 많은 생각에 도움이 되었습니다.하지만 너무 어렵네요. 혹시 원기둥 좌표계에서처럼 구좌표계에서도 발산식 유도과정죰 보여주실수 있나요.. 너무 어렵네요.

    답글삭제
    답글
    1. 그게 귀찮아서 텐서 연산을 도입한 것이라...

      번거로운 계산이 기다리고 있지만, 원통 좌표계와 동일한 과정을 따라가면 됩니다. 시간될 때 한 번 해보도록 할게요.

      삭제
    2. 감사합니다. 다시한번 해보도록하겠습니다.

      삭제

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.