SlideShare a Scribd company logo
1 of 8
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

What's hot

06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성noerror
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5YEONG-CHEON YOU
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013devCAT Studio, NEXON
 
Hierachical z Map Occlusion Culling
Hierachical z Map Occlusion CullingHierachical z Map Occlusion Culling
Hierachical z Map Occlusion CullingYEONG-CHEON YOU
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능Yongha Kim
 
Compute shader DX11
Compute shader DX11Compute shader DX11
Compute shader DX11민웅 이
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflectionBongseok Cho
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010devCAT Studio, NEXON
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리YEONG-CHEON YOU
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPUYEONG-CHEON YOU
 
C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현Bongseok Cho
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델Seungmo Koo
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計UnityTechnologiesJapan002
 
Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문Jin Woo Lee
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)YEONG-CHEON YOU
 
GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자TonyCms
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자KyeongWon Koo
 
KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론Hyunjik Bae
 
NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인용태 이
 
絵心がなくてもわかる UE4絵作りのコツ
絵心がなくてもわかるUE4絵作りのコツ絵心がなくてもわかるUE4絵作りのコツ
絵心がなくてもわかる UE4絵作りのコツMasahiko Nakamura
 

What's hot (20)

06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
 
Hierachical z Map Occlusion Culling
Hierachical z Map Occlusion CullingHierachical z Map Occlusion Culling
Hierachical z Map Occlusion Culling
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
 
Compute shader DX11
Compute shader DX11Compute shader DX11
Compute shader DX11
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflection
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
 
게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU게임프로젝트에 적용하는 GPGPU
게임프로젝트에 적용하는 GPGPU
 
C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
 
Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)
 
GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
 
KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론
 
NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인
 
絵心がなくてもわかる UE4絵作りのコツ
絵心がなくてもわかるUE4絵作りのコツ絵心がなくてもわかるUE4絵作りのコツ
絵心がなくてもわかる UE4絵作りのコツ
 

Viewers also liked

GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수Mark Choi
 
제 3장 삼각함수의 기초
제 3장 삼각함수의 기초제 3장 삼각함수의 기초
제 3장 삼각함수의 기초Woo Yeong Choi
 
File Manager How To
File Manager How ToFile Manager How To
File Manager How ToAShestopalov
 
게임 프로그래머를 위한 기초 수학 및 물리 - 8장
게임 프로그래머를 위한 기초 수학 및 물리 - 8장게임 프로그래머를 위한 기초 수학 및 물리 - 8장
게임 프로그래머를 위한 기초 수학 및 물리 - 8장JangHyuk You
 
[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장sung ki choi
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리KyeongWon Koo
 

Viewers also liked (10)

Getting Started
Getting StartedGetting Started
Getting Started
 
GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수
 
제 3장 삼각함수의 기초
제 3장 삼각함수의 기초제 3장 삼각함수의 기초
제 3장 삼각함수의 기초
 
Quickpoint How To
Quickpoint How ToQuickpoint How To
Quickpoint How To
 
File Manager How To
File Manager How ToFile Manager How To
File Manager How To
 
5.0 release
5.0 release5.0 release
5.0 release
 
Quickword How To
Quickword How ToQuickword How To
Quickword How To
 
게임 프로그래머를 위한 기초 수학 및 물리 - 8장
게임 프로그래머를 위한 기초 수학 및 물리 - 8장게임 프로그래머를 위한 기초 수학 및 물리 - 8장
게임 프로그래머를 위한 기초 수학 및 물리 - 8장
 
[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리
 

반사벡터

  • 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