ݺߣ

ݺߣShare a Scribd company logo
E는 반사 해야 할 source가 되는 벡터
          N은 반사 면의 법선 벡터(normalize되어있다고 가정함)




          N
E         (그림은 이상하지만, 길이가 1인 방향 벡터임)




    반사 벡터를 구한다는 것은?
N
 E




이 빨간 선의 벡터를 구하고 싶다는 것
N
-E




아이디어는 아주 간단하다.

1. E를 뒤집어서 ( -E)
N
                            -E




                           2. -E와 N을 내적한 것에
                           (내적하면 빨간 선의 길이가 나온다.)


첨부설명 : 내적이 빨간 선의 길이가 되는 이유
직각 삼각형이라고 생각하면,
cos@ = 밑변/빗변 ( ||N|| / ||E||)
밑변 = 빗변 * cos@ ( 빨간 선의 길이 = ||E|| cos@ )
N
-E




     3. 그 길이의 두 배로 만들어서




                          내적의 값은 scalar
                          즉, 한 개의 값이다.(float[1])
N
 -E




4. N방향을 가지는 벡터에 곱해주고



  방향 벡터(길이가 1인)에 길이 값 (len)을 곱하면,
  길이만 (len)로 늘어난 같은 방향을 가리키는 벡터가 나온다.
E




              N
E




    4. 거기에 E를 더하면
    구하고자 했던 반사벡터를 구할 수가 있다.



         두 벡터를 더하면, 원점에서 두 벡터만큼 이동한 위치로 향하는 벡터가 만들어진다.
         즉, 빨간 벡터 두 개를 더하면 녹색 벡터가 나옴.
E




    N
E

More Related Content

반사벡터

  • 1. E는 반사 해야 할 source가 되는 벡터 N은 반사 면의 법선 벡터(normalize되어있다고 가정함) N E (그림은 이상하지만, 길이가 1인 방향 벡터임) 반사 벡터를 구한다는 것은?
  • 2. N E 이 빨간 선의 벡터를 구하고 싶다는 것
  • 4. N -E 2. -E와 N을 내적한 것에 (내적하면 빨간 선의 길이가 나온다.) 첨부설명 : 내적이 빨간 선의 길이가 되는 이유 직각 삼각형이라고 생각하면, cos@ = 밑변/빗변 ( ||N|| / ||E||) 밑변 = 빗변 * cos@ ( 빨간 선의 길이 = ||E|| cos@ )
  • 5. N -E 3. 그 길이의 두 배로 만들어서 내적의 값은 scalar 즉, 한 개의 값이다.(float[1])
  • 6. N -E 4. N방향을 가지는 벡터에 곱해주고 방향 벡터(길이가 1인)에 길이 값 (len)을 곱하면, 길이만 (len)로 늘어난 같은 방향을 가리키는 벡터가 나온다.
  • 7. E N E 4. 거기에 E를 더하면 구하고자 했던 반사벡터를 구할 수가 있다. 두 벡터를 더하면, 원점에서 두 벡터만큼 이동한 위치로 향하는 벡터가 만들어진다. 즉, 빨간 벡터 두 개를 더하면 녹색 벡터가 나옴.
  • 8. E N E