SlideShare a Scribd company logo
1 of 14
Member of the Asscoiated Press . 
Aenean commodo ligula eget dolor. 
Aenean. Aenean commodo ligula eget 
dolor. Aenhswse. Cejhciebce fcdcdcd. 
Est. 1869 Monday, December 08, 2014 Price 6d 
- 해강 
DirectX 11을 이용한 3D 게임 프로그래밍 입문 
02. 행렬대수
정의 
• 행렬은 비례, 회전, 이동같은 변환이나, 기준계 변환에 쓰인다 
• 행렬은 m개의 행과 n개의 열로 이루어진 실수들의 배열이다 
• u, v는 행이나 열이 하나씩이라 각각 행벡터, 열벡터라 한다 
• 한 행렬의 행이나 열들은 벡터로 간주하기도 한다
정의2 
• 행렬은 아래의 법칙들을 만족한다
• 행렬 A, B의 곱 AB의 ij 성분은 A의 i번째 행벡터와 B의 j번째 
열벡터의 내적이다 
• 따라서 행렬곱이 정의 되려면 A의 행수, B의 열수가 일치해야 
한다 
곱셈 
성립하지 않는다 성립한다
곱셈2 
• 일반적으로 행렬 곱셈에는 교환 법칙은 성립하지 않는다 
- 교환할 경우 행과 열이 맞지 않을 수 있기 때문이다 
• 행렬 곱셈은 결합법칙을 만족한다
전치 
• 전치 행렬은 행렬의 행과 열을 맞바꾼 것을 말한다
전치2 
• 전치행렬에는 아래와 같은 속성이 있다
단위행렬 
• 단위행렬은 주대각 성분들이 1, 나머지는 모두 0인 정방행렬(행과 열의 수 
가 같다)이다 
• 단위행렬은 곱셈의 항등원 역할을 한다. 
• 어떤 행렬을 곱해도 변하지 않는다 
• 단위 행렬과 곱셈을 하는 행렬이 정방행렬일때, 교환법칙을 성립한다
행렬식 
• 행렬식은 정방행렬을 받아서 실수 값을 산출하는 함수다 
• 정방행렬 A는 detA로 표기한다 
• 행렬의 역을 구할때 행렬식이 사용된다 
• 특정 행과 열을 삭제한 소행렬을 통해 구할 수 있다
딸림행렬 
• n x n 행렬 A에 대한 곱 을 여인수라고 부른다 
• A의 각 성분에 여인수 Cij를 해당 위치에 넣은 행렬을 
여인수 행렬이라 한다 
• 여인수 행렬의 전치행렬을 딸림행렬(수반행렬)이라 한다
행렬의 역 
• 정방행렬만이 역행렬을 가진다 
• n x n 행렬 A의 역은 n x n 행렬이며 A-1로 표기한다 
• 모든 정방행렬에 역행렬이 존재하지는 않는다 
- 역행렬이 있는 경우 가역행렬, 없는 경우 특이행렬이라 한다 
• 역행렬이 존재하는 경우 그 역행렬은 고유하다 
• 행렬에 역행렬을 곱하면 단위행렬이 나온다
행렬의 역2 
• 행렬의 역은 행렬 방정식을 다른 행렬에 대해 풀 때 유용하다 
• 딸림 행렬과 행렬식을 이용해 역행렬을 구할 수 있다
XNA Math 행렬 기능 
• 4x4 행렬을 나타내기 위해 XMMATRIX 클래스가 사용 된다 
• XMVECTOR 인스턴스 네개를 사용한다 
• 곱셈을 위해 중복적재된 연산자를 지원한다 
• 색인을 지정해 접근/수정할 수 있도록 대괄호 연산자를 지원한다 
• 생성자이외에 XMMatrixSet이라는 함수로 지정할 수 있다 
• 행렬을 클래스에 멤버로 저장할때 XMFLOAT4X4를 사용할 것을 추천한다
XNA Math 행렬 기능2 
• 행렬 관련 함수

More Related Content

Similar to [14.12.08] 행렬대수(ShaderStudy) (9)

Graphics 2장 행렬.pptx
Graphics 2장 행렬.pptxGraphics 2장 행렬.pptx
Graphics 2장 행렬.pptx
 
행렬
행렬행렬
행렬
 
02.선형변환과 행렬
02.선형변환과 행렬02.선형변환과 행렬
02.선형변환과 행렬
 
120428 게임 프로그래머를 위한 기초수학과 물리 제 5장 행렬연산
120428 게임 프로그래머를 위한 기초수학과 물리   제 5장 행렬연산 120428 게임 프로그래머를 위한 기초수학과 물리   제 5장 행렬연산
120428 게임 프로그래머를 위한 기초수학과 물리 제 5장 행렬연산
 
선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2
 
Chapter 2, 선형 변환과 행렬 2/2
Chapter 2, 선형 변환과 행렬 2/2Chapter 2, 선형 변환과 행렬 2/2
Chapter 2, 선형 변환과 행렬 2/2
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pca
 
Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2
 

More from 해강

[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self
[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self
[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self
해강
 
[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie
[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie
[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie
해강
 
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
해강
 
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)
해강
 
[Shader study] Color control (2014.05.12)
[Shader study] Color control (2014.05.12)[Shader study] Color control (2014.05.12)
[Shader study] Color control (2014.05.12)
해강
 
[Dev rookie] 이상적인 게임에 관하여(13.11.30)
[Dev rookie] 이상적인 게임에 관하여(13.11.30)[Dev rookie] 이상적인 게임에 관하여(13.11.30)
[Dev rookie] 이상적인 게임에 관하여(13.11.30)
해강
 
[Softmax] 유익한 무엇에 관하여(13.09.27)
[Softmax] 유익한 무엇에 관하여(13.09.27)[Softmax] 유익한 무엇에 관하여(13.09.27)
[Softmax] 유익한 무엇에 관하여(13.09.27)
해강
 

More from 해강 (20)

[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self
[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self
[16.04.12] 플레이어의 기억에 남을 인상적인 캐릭터를 제작하는 5가지 주제 - Self
 
[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie
[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie
[15.06.20] 네가 누구든, 내가 뭘하든 - DevRookie
 
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
 
[14.12.27] 종횡사해2014(DevRookie)
[14.12.27] 종횡사해2014(DevRookie)[14.12.27] 종횡사해2014(DevRookie)
[14.12.27] 종횡사해2014(DevRookie)
 
[14.10.21] Far Cry and DX9 번역(shaderstudy)
[14.10.21] Far Cry and DX9 번역(shaderstudy)[14.10.21] Far Cry and DX9 번역(shaderstudy)
[14.10.21] Far Cry and DX9 번역(shaderstudy)
 
[14.10.20] 아! 그거...모르겠습니다 - TLS(devrookie)
[14.10.20] 아! 그거...모르겠습니다 - TLS(devrookie)[14.10.20] 아! 그거...모르겠습니다 - TLS(devrookie)
[14.10.20] 아! 그거...모르겠습니다 - TLS(devrookie)
 
[14.10.10] TressFX 번역(self)
[14.10.10] TressFX 번역(self)[14.10.10] TressFX 번역(self)
[14.10.10] TressFX 번역(self)
 
[14.09.01] dynamic lighting in god of war3(shader study)
[14.09.01] dynamic lighting in god of war3(shader study)[14.09.01] dynamic lighting in god of war3(shader study)
[14.09.01] dynamic lighting in god of war3(shader study)
 
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)
 
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
 
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
 
[Shader study] Color control (2014.05.12)
[Shader study] Color control (2014.05.12)[Shader study] Color control (2014.05.12)
[Shader study] Color control (2014.05.12)
 
[Dev rookie] Omnibus Me (2014.01.11)
[Dev rookie] Omnibus Me (2014.01.11)[Dev rookie] Omnibus Me (2014.01.11)
[Dev rookie] Omnibus Me (2014.01.11)
 
[Shader study]Shadow Map Silhouette Revectorization(2014.01.06)
[Shader study]Shadow Map Silhouette Revectorization(2014.01.06)[Shader study]Shadow Map Silhouette Revectorization(2014.01.06)
[Shader study]Shadow Map Silhouette Revectorization(2014.01.06)
 
[Dev rookie]사망유희2013(13.12.21)
[Dev rookie]사망유희2013(13.12.21)[Dev rookie]사망유희2013(13.12.21)
[Dev rookie]사망유희2013(13.12.21)
 
[Dev rookie] 이상적인 게임에 관하여(13.11.30)
[Dev rookie] 이상적인 게임에 관하여(13.11.30)[Dev rookie] 이상적인 게임에 관하여(13.11.30)
[Dev rookie] 이상적인 게임에 관하여(13.11.30)
 
[Dev rookie] 어디로 가야 하나요(13.10.05)
[Dev rookie] 어디로 가야 하나요(13.10.05)[Dev rookie] 어디로 가야 하나요(13.10.05)
[Dev rookie] 어디로 가야 하나요(13.10.05)
 
[Softmax] 유익한 무엇에 관하여(13.09.27)
[Softmax] 유익한 무엇에 관하여(13.09.27)[Softmax] 유익한 무엇에 관하여(13.09.27)
[Softmax] 유익한 무엇에 관하여(13.09.27)
 
[Dev rookie] 나는 네가 무엇을 하고 있는지 알고 있다(13.08.24)
[Dev rookie] 나는 네가 무엇을 하고 있는지 알고 있다(13.08.24)[Dev rookie] 나는 네가 무엇을 하고 있는지 알고 있다(13.08.24)
[Dev rookie] 나는 네가 무엇을 하고 있는지 알고 있다(13.08.24)
 
[Dev rookie] 예술하고 싶어요(13.06.29)
[Dev rookie] 예술하고 싶어요(13.06.29)[Dev rookie] 예술하고 싶어요(13.06.29)
[Dev rookie] 예술하고 싶어요(13.06.29)
 

[14.12.08] 행렬대수(ShaderStudy)

  • 1. Member of the Asscoiated Press . Aenean commodo ligula eget dolor. Aenean. Aenean commodo ligula eget dolor. Aenhswse. Cejhciebce fcdcdcd. Est. 1869 Monday, December 08, 2014 Price 6d - 해강 DirectX 11을 이용한 3D 게임 프로그래밍 입문 02. 행렬대수
  • 2. 정의 • 행렬은 비례, 회전, 이동같은 변환이나, 기준계 변환에 쓰인다 • 행렬은 m개의 행과 n개의 열로 이루어진 실수들의 배열이다 • u, v는 행이나 열이 하나씩이라 각각 행벡터, 열벡터라 한다 • 한 행렬의 행이나 열들은 벡터로 간주하기도 한다
  • 3. 정의2 • 행렬은 아래의 법칙들을 만족한다
  • 4. • 행렬 A, B의 곱 AB의 ij 성분은 A의 i번째 행벡터와 B의 j번째 열벡터의 내적이다 • 따라서 행렬곱이 정의 되려면 A의 행수, B의 열수가 일치해야 한다 곱셈 성립하지 않는다 성립한다
  • 5. 곱셈2 • 일반적으로 행렬 곱셈에는 교환 법칙은 성립하지 않는다 - 교환할 경우 행과 열이 맞지 않을 수 있기 때문이다 • 행렬 곱셈은 결합법칙을 만족한다
  • 6. 전치 • 전치 행렬은 행렬의 행과 열을 맞바꾼 것을 말한다
  • 7. 전치2 • 전치행렬에는 아래와 같은 속성이 있다
  • 8. 단위행렬 • 단위행렬은 주대각 성분들이 1, 나머지는 모두 0인 정방행렬(행과 열의 수 가 같다)이다 • 단위행렬은 곱셈의 항등원 역할을 한다. • 어떤 행렬을 곱해도 변하지 않는다 • 단위 행렬과 곱셈을 하는 행렬이 정방행렬일때, 교환법칙을 성립한다
  • 9. 행렬식 • 행렬식은 정방행렬을 받아서 실수 값을 산출하는 함수다 • 정방행렬 A는 detA로 표기한다 • 행렬의 역을 구할때 행렬식이 사용된다 • 특정 행과 열을 삭제한 소행렬을 통해 구할 수 있다
  • 10. 딸림행렬 • n x n 행렬 A에 대한 곱 을 여인수라고 부른다 • A의 각 성분에 여인수 Cij를 해당 위치에 넣은 행렬을 여인수 행렬이라 한다 • 여인수 행렬의 전치행렬을 딸림행렬(수반행렬)이라 한다
  • 11. 행렬의 역 • 정방행렬만이 역행렬을 가진다 • n x n 행렬 A의 역은 n x n 행렬이며 A-1로 표기한다 • 모든 정방행렬에 역행렬이 존재하지는 않는다 - 역행렬이 있는 경우 가역행렬, 없는 경우 특이행렬이라 한다 • 역행렬이 존재하는 경우 그 역행렬은 고유하다 • 행렬에 역행렬을 곱하면 단위행렬이 나온다
  • 12. 행렬의 역2 • 행렬의 역은 행렬 방정식을 다른 행렬에 대해 풀 때 유용하다 • 딸림 행렬과 행렬식을 이용해 역행렬을 구할 수 있다
  • 13. XNA Math 행렬 기능 • 4x4 행렬을 나타내기 위해 XMMATRIX 클래스가 사용 된다 • XMVECTOR 인스턴스 네개를 사용한다 • 곱셈을 위해 중복적재된 연산자를 지원한다 • 색인을 지정해 접근/수정할 수 있도록 대괄호 연산자를 지원한다 • 생성자이외에 XMMatrixSet이라는 함수로 지정할 수 있다 • 행렬을 클래스에 멤버로 저장할때 XMFLOAT4X4를 사용할 것을 추천한다
  • 14. XNA Math 행렬 기능2 • 행렬 관련 함수