'P. A. M. Dirac'에 해당되는 글 5건

  1. 2008/09/30 Hybrid 컴퓨터 속의 수학과 물리 - 1. 디락 델타 함수(Dirac Delta Function) (6)
  2. 2008/01/16 Hybrid 천재들의 20대 중반 (7)
  3. 2008/01/15 Hybrid 죽기 전에 완독하고 싶은 책들 (3)
  4. 2006/09/06 Hybrid 프로그램 버전 규칙 (1)
  5. 2006/05/04 Hybrid The Principles of Quantum Mechanics 4/E by Dirac (2)
본래 수학에서 무한대는 아주 골치덩어리인 문제다. 이 무한대라는 것을 이용해서 많은 것을 해낼 수 있는 것은 사실이지만, 현대 시대에서 가장 말도 안되는 것 중에 하나가 무한대 개념일 것이다.

디락 델타 펑션이라고 부르는게 익숙한 디락 델타 함수(Dirac Delta Function)도 무한대를 포함해서 그런지, 아주아주 말도 안되는 특성을 가지고 있다. 수학적인 정의는 간단한데, 의미를 생각하다보면 갸우뚱 한다. 먼저 함수의 정의는 다음과 같다.

LaTeX equation

이 함수는 대체적으로 함수 하나만으로는 의미가 없고, 적분에서 그 똘끼(?)를 발휘한다.

LaTeX equation

이 의미는 이 델타 함수가 무한대가 되는 지점, 즉 여기서는 x = 0 을 포함한 부분을 적분하면 1이 된다는 것이다. 따라서 이렇게 써도 맞다.

LaTeX equation

그런데 말이 안되는거 같다. 적분은 그야말로 합(summation)인데... 무한대를 합하는데 왜 1일까?

좀 더 이성적인 해석은 다음과 같다. x가 0인 y 축을 중심으로 넓이가 0.5 크기의 사각형 두개가 y 축 양쪽에 있다고 생각을 해보자. 적분은 넓이를 뜻하므로, 0.5 + 0.5 는 1 이 되므로 맞다. 이 사각형을 위로 긴 직사각형으로 만들어서 x 축의 길이는 0.1 y축의 길이는 5로 만들자. 역시 넓이는 0.5 가 된다. 이런식으로 사각형을 위로 길게 만들면, 사각형 하나는 넓이가 여전히 0.5 이지만, x 축의 길이는 0에 가깝고, y 축의 길이는 무한대에 가까운 사각형이 된다. 따라서 디락 델타 함수의 특성을 만족한다.

이 형태를 점점 길죽하게 만들어서, 넓이를 유지한채 사각형의 높이를 무한대로 보내고, 가로 길이를 극소수로 보내면, 적분해서 1이 나오는 공식을 만들 수 있다.

LaTeX equation

그렇다면 다음과 같은 공식의 값은 어떻게 될까?

LaTeX equation

LaTeX equation

위에서 말했던 길쭉한 사각형을 생각하면, 둘다 0.5가 될 것 같지만, 실제로는 무한대가 되는 지점을 포함하면 적분 값이 1이 된다.

Image:Dirac function approximation.gif
디락 델타 함수를 표현하기 위해서 사각형을 생각하면 쉽지만, 실제로는 그렇게 간단하지는 않고, 디락 델타 함수는 엄밀히 말해서 무한히 미분 가능한 연속 함수다. 사각형이 이루는 함수는 미분 가능하지 않다. 좀 더 올바른 그림은 오른쪽과 같고[1], 정확한 공식은 다음과 같다.

LaTeX equation

본래 이 함수는 수학자 출신 물리학자인 Paul. A. M. Dirac 이 양자 역학 책인 Principles of Quantum Mechanics(블로그 링크) 책에서 소개된 것이다. 하지만 더 이상의 해설은 그냥 넘어가기로 하고(필요도 없다), 다른 함수와 함께 쓰이는 용도를 살펴보자.

LaTeX equation

수학적으로 전개할 필요도 없이 이성적으로 생각해보면, 디락 델타는 x 가 a 일때만 살아남는다. 따라서, f(x) 에서 x = a 인 부분만 고려하게되고, 디락 델타의 적분값은 1이기 때문에, 위 공식의 적분 값은 f(a) 가 된다.

이런 괴상한 함수가 컴퓨터 그래픽에서 라이트의 특성을 기술하기 위해서 사용된다.

다음은 Physically based Rendering 에 나와 있는 내용이다[2].
Finally, the IsDeltaLight() method indicates whether the light is described by a delta distribution.
Examples of such lights include point lights, which emit illumination from a single point,
and directional lights, where all light arrives from the same direction.

Physically Based Rendering : from Theory to Implementation, p600

먼저, 일반적인 용어인 irradiance 부터 살펴보자. 어떠한 기준이 되는 물체로부터 빛이 나가는지 들어오는지에 따라 사용되는 용어가 다른데, 이때 들어오는 단위 면적당(m^-2) 빛의 크기(power) 를 irradiance 라고 부른다[3].

어떤 점(p)에 들어오는 빛의 양을 계산 할때는 일반적으로 반구를 그리고, 그 반구를 입체각(solid angle)과 irradience 로 적분하는 것으로 계산한다[4]. 이 입체각의 극소면적은 LaTeX equation로 표기하는데, 이것은 3차원 공간에서 LaTeX equation 두개를 곱해 2차원의 공간을 뜻하게 된다.

원래 이것은 3차원 공간으로 설명을 해야 하지만, 간략한 설명을 위해 2차원으로 생각해보기로한다(그림과 수식은 2차원인 반면, 용어는 2차원과 3차원 용어를 섞어쓰도록하겠다). 가운데 지점인 p 에 들어오는 빛의 양은 다음과 같이 계산된다 .

사용자 삽입 이미지

LaTeX equation

LaTeX equation 에 따라 들어오는 빛의 양(L)이 다를 것이고, 그 함수로 적분을 하는 것이다. 좀 상황을 바꿔서, 근처의 구 모양의 빛이 있다고 가정해보자. 그 구는 빛을 사방으로 발산한다.

사용자 삽입 이미지
빨간색으로 표시된 부분이 상단에 있는 빛에 영향을 받는 양이다.
저 부분이 클수록 많은 빛을 받게 된다.

위의 공식을 그 구의 빛만 계산한다고 가정을 해보면, 적분은 결국 점에서 구를 바라 봤을때 [빛의 크기(L) * 구가 보이는 상대적인 면적]이 실제 빛을 받는 양이 될 것이다. 즉, 구가 가까이 있으면 구가 크게 보이기 때문에 반구에서 차지하는 비중이 클 것이고, 구가 멀리 있으면 구가 작게 보이기 때문에 반구에서의 비중이 작을 것이다.

하지만, point light(omni light) 나 directional light 의 경우는 조금 다르다. 좀 더 설명하기 쉽도록, 평면 모양의 directional light 를 생각해보자.

사용자 삽입 이미지
파란색 선은 점 p 에 영향을 주지 않는 빛의 방향이다.
오로지 빨간색 방향만이 점 p 에 영향을 준다.
점 p 의 입장에서 보면, 정확하게 한 방향에만 영향을 받는 셈이다.

이 directional light 는 한 방향으로만 빛을 내리 쪼게 된다. 이건 마치, 태양은 분명히 구이지만, 워낙 멀리 있기 때문에 한 방향에서만 빛이 온다고 생각할 수 있는 것과 비슷하다.

위의 그림에서 보면, 상단에 위치한 빛이 한 방향으로만 내리쏘게 된다. 만약 아래에 있는 반구의 가운데에 들어오는 빛의 양을 계산하는 것을 생각하면, 위와는 상황이 다르게 된다. 그 점에서 보이는 면적은 전혀 고려하지 않고, 특정한 방향으로 들어오는 빛만 생각한다. 따라서 적분할 때에 딱 특정한 방향만 고려하게 된다. 수식으로 보면 다음과 같다(여기서 실제로 3차원에서의 디락 델타 함수는 2차원 함수이지만, 여기서는 차원을 하나 내린상태다).

LaTeX equation

그 동안의 수학적인 삽질이 정확하게 들어맞는 순간이다(여기서 LaTeX equation 는 빛이 들어오는 각도). 원래는 [L * 면적] 이 되어야 하지만, 여기서는 면적으로 고려하지 않고, 방향에 대한 L 값 하나로면 빛의 양을 계산하도록 했다. Point light 도 마찬가지로, 우리가 해당 light 를 바라보는 각도(LaTeX equation)만 고려하게 되므로 디락 델타 함수를 사용하여 빛의 세기 계산을 고려할 수 있다.

마지막으로, 한가지 의문점을 생각해보자. 처음 소개한 공식에서는 점에서 구 형태의 빛이 보이는 면적으로 멀리 있거나 가까운 빛을 구별하여, 빛의 세기가 달라짐을 알 수 있었다. 하지만, 방금 보인, directional/point light 는 거리가 가깝건 멀건, 똑같은 빛의 양을 계산하게 된다, 이때, 좀 더 사실적인 효과를 위해서라면 L(LaTeX equation) 함수에, 거리 요소를 추가하여, L(LaTeX equation, distance) 형식으로 거리에 따라 감소(attenuation)하는 효과를 추가로 고려해주면된다.

  1. 디락 델타 함수의 참고, 그리고 그림의 출처 : 위키피디아 - Dirac delta function [본문으로]
  2. 여기서 delta distribution 은 Dirac delta function 이 만드는 분포(distribution)를 말하는 것으로, 특별히 구분하지 않아도 된다. [본문으로]
  3. 반대로 나가는 것은 radiant exitance 이고, 위키피디아에 용어간의 차이점들이 잘 정리 되어 있다(http://en.wikipedia.org/wiki/Irradiance) [본문으로]
  4. 지금은 나가는 것은 고려하지 않는데, 여러 각도에서 들어오는 것과 여러 다른 각도에서 나가는 것을 고려한 함수가 BRDF 이다. [본문으로]
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/09/30 02:38 2008/09/30 02:38

트랙백 주소 :: http://www.hybrid.pe.kr/tt/trackback/399

  1. Subject: EJ의 생각

    Tracked from bluecube's me2DAY 2009/06/03 22:51  삭제

    디락 델타 함수(Dirac Delta Function)

댓글을 달아 주세요

  1. OpenID LogoSHHyun 2008/10/02 23:40  댓글주소  수정/삭제  댓글쓰기

    통신쪽에서 디락 델타 함수가 쓰이는건 잘 알고 있었는데,
    이렇게 빛의 특성에 대해서도 응용할수가 있군요. 놀라워라..;;
    늘 수학은 보면 볼수록 더 놀라운세계의 연속인듯싶네요.

    좋은내용 잘 보고 갑니다 :)

    • OpenID LogoHybrid 2008/10/03 03:56  댓글주소  수정/삭제

      오오... 전 통신쪽으로 문외한이라...
      그쪽에서도 디락 델타 함수가 쓰일 줄은 전혀 몰랐습니다.
      저도 신기한걸 배우게 되는군요.. ㅎㅎ

  2. ㅁㄴㅇ 2009/10/17 19:06  댓글주소  수정/삭제  댓글쓰기

    델타함수의 정확한 공식에서 lim x→0 이 아니고 a→0 아닐까요?

  3. 공대학생 2010/03/08 18:58  댓글주소  수정/삭제  댓글쓰기

    제가 공부를 더 해야 할듯 하네요ㅠ
    이해가 잘 안대욤!!ㅋ
    그럼 디락델타 함수가 컴퓨터 그래픽말고 다른곳에 사용되는 곳이 있다면 알려주세요~

    • Hybrid 2010/03/08 23:37  댓글주소  수정/삭제

      그냥 기본적인 디락 델타 함수는 이해하기 쉽습니다.
      좀 이상한데, 그냥 받아들이면 되거든요... (포기하면 쉬운... -ㅅ-;; )

      만약 그래픽 관련해서 익숙하신데도 밑의 부분이 잘 이해가 안가신다면 제가 설명을 잘 못한거겠죠. ㅜ_ㅜ

      그래픽 분야 말고는.... 저는 위에 쓴대로 물리에서 쓰이는 것 밖에 모릅니다. (물리에서도 여러곳에서 쓰이기 때문에 다 아는건 아닌.....;; )

      조금 어렵더라도 자세히 알고 싶으시면 위키를 참고하세요.
      http://en.wikipedia.org/wiki/Dirac_delta_function
      위키에서도 대부분의 예시는 물리와 관련된 것이네요..

[로그인][오픈아이디란?]