Loading [MathJax]/jax/output/CommonHTML/jax.js
Reflecting in a plane

Reflecting in a plane

2018, Sep 27    
  • 이번 글에서는 앞에서 배웠던 그램 슈미트, 정규직교 등을 이용하여 transformation 좀 더 쉽게 하는 방법에 대하여 알아보겠습니다.
    • 즉, transformation 지식과 basis에 관한 지식을 이용할 예정입니다.
  • 정확하게 말하면 앞에서 배웠던 정규직교를 왜 배웠을까에 대한 의문을 해소하는 예제가 될 수 있을것 같습니다.
  • 이번 글의 목적은 어떤 벡터가 있을 때, 그 벡터의 reflection을 구해보려고 합니다. 즉, 벡터를 평면을 기준으로 대칭시키면 reflection을 찾을 수 있습니다.
  • 임의의 공간에 있는 벡터를 평면을 기준으로 reflection하려면 평면과 평면과 직교한 또 하나의 벡터가 필요합니다. 그램 슈미트 과정을 이용하면 쉽게 구할 수 있습니다.


Drawing


  • 이번 글에서 다룰 예제는 3개의 벡터(v1,v2,v3)로 이루어진 공간입니다.
    • 벡터는 각각 v1=[111],v2=[201],v3=[311]이 됩니다.
  • 먼저 주어진 3개의 벡터를 이용하여 그램 슈미트 과정을 거치면 정규직교기저 3개를 구할 수 있습니다. 구해보겠습니다.
  • 첫째로 e1=v1|v1|=13[111] 가 됩니다.
  • 두번째로 u2=v2(v2e1)e1=([201][201]13[111])13[111]=[110]
    • 정리하면, e2=u2|u2|=12[110] 이 됩니다.
  • 마지막으로 u3=v3(v3e1)e1(v3e2)e2=[311]([311]13[111])13[111]([311]12[110])12[110]=[112]가 됩니다.
    • 정리하면, e3=u3|u3|=16[112] 가 됩니다.


Drawing
  • 앞에서 계산한 내용을 정리해 보겠습니다.
  • 먼저 위 그림을 보면 기존의 벡터 v1,v2,v3가 있고, 그램 슈미트 과정을 통하여 e1,e2,e3를 구하였습니다. e3e1,e2를 이용하여 만든 평면과 직교합니다.
  • 그러면 v1,v2,v3을 기준으로 만들어진 공간을 frame_v이라고 하고 e1,e2,e3를 이용하여 만들어진 공간을 frame_e라고 하겠습니다.
  • 현재 위 그림의 벡터 re3 축으로 대칭 되는 r으로 transformation 해보려고 합니다. 즉 rr로 변형해야 하지요.
  • 그런데 frame_v에서 바로 rrtransformation하는 것은 생각 보다 쉽지 않습니다. 왜냐하면 frame_v의 벡터가 계산하기 쉽지가 않기 때문입니다.
  • 벡터 사이의 각도도 애매하고 정확히 어떻게 해야 e3 축으로 대칭되는 벡터를 찾을지 감이 잡히지 않습니다. 따라서 다음과 같이 좀 더 과정을 거쳐서 접근해 보겠습니다.
  • 먼저 E=(e1,e2,e3)frame_eframe_v로 mapping 하는 행렬입니다.
  • 그리고 frame_e에서 e3 방향으로 대칭하는 transformation matrix TE=[100010001]가 됩니다.
  • 앞에서 설명한 바와 같이 e1e2는 서로 직교하고 이 두 벡터로 만든 평면과 e3는 직교합니다.
  • 먼저 frame_v에 있는 벡터 rframe_e 로 mapping 해주어야 합니다. E의 정의에 따라 E1이 그 역할을 할 수 있습니다.
    • 따라서 rE=E1r 이 됩니다.
    • 참고로 E는 직교 행렬이기 때문에 E1=ET가 되므로 쉽게 계산할 수 있습니다.
  • 다음으로 transformation matrix를 통하여 frame_e상에서 transformation을 해줍니다. 따라서 rE=TEE1r이 됩니다.
  • 이제 frame_e에서는 transformation이 되었으니 다시 frame_v로 mapping 시켜주어야 합니다.
    • 즉, r=ETEE1r=ETEETr 가 됩니다.
  • 위 과정을 모두 거치면 rrtransformation이 됩니다.
  • 계산 과정은 다음과 같습니다.
Drawing


  • 정리하면 변환 과정은 다음과 같습니다.


Drawing



  • 이번 글의 핵심은 그람 슈미트 방법을 이용하여 정규직교벡터를 구하여 transformation에 어떻게 적용하는 지 였습니다.


  • Relfleting in a plane 예제
  • 위 예제를 보시면 아래 결과에 판다 그림이 평면을 기준으로 reflection되어 있음을 볼 수 있습니다.
  • 연갈색 선이 기존의 basis이고 보라색 선이 그램 슈미트 과정을 통하여 얻은 정규 직교 벡터로 된 basis입니다.
  • 정규 직교 벡터 basis로 transformation 한 다음 reflection을 하고 다시 기존의 basis로 transformation을 하면 위와 같이 reflection한 형상을 얻을 수 있습니다.