07장 내적: 벡터 공간의 분석과 응용
7.1 벡터의 내적
- 벡터의 내적은 같은 차원의 두 벡터가 주어졌을 때 벡터를 구성하는 각 성분을 곱한 후 이들을 더해 스칼라를 만드는 연산이다.
- 내적의 결과는 스칼라다.
■ 7.1.1 내적의 성질
- 내적은 교환 법칙과 분배 법칙이 성립하지만, 결합 법칙은 성립하지 않는다.
- 같은 벡터를 내적하면 그 벡터의 크기를 제곱한 스칼라가 나온다.
내적 | 외적 | |
결과 | 스칼라 | 벡터 |
교환 법칙 | O | X |
결합 법칙 | X | X |
분배 법칙 | O | O |
연산 | 같은 위치의 요소만 사용 | 다른 위치의 요소만 사용 |
■ 7.1.2 내적과 삼각함수와의 관계
- 두 벡터 u, v의 사잇각을 θ라고 할 때 내적과 cos 함수의 관계는 다음과 같다.
- 내적은 두 백터의 사잇각에 대한 cos 함수와 비례한다.
- 두 벡터의 내적이 0이면 두 벡터는 직교하므로 직교성을 판별하는 데 활용할 수 있다.
내적 | 외적 | |
판별성 | 직교성 | 평행성 |
삼각함수 | cosθ | sinθ |
■ 7.1.3 내적과 행렬의 곱셈
- 행렬과 벡터의 곱셈, 행렬과 행렬의 곱셈은 벡터의 내적으로 표현할 수 있다.
- 직교 행렬(orthogonal matrix)은 정방 행렬을 구성하는 모든 행벡터와 열벡터의 크기가 1이고 벡터들이 서로 직교하는 행렬이다.
- 직교 행렬의 역행렬은 직교 행렬의 전치 행렬이다.
- 회전 변환 행렬(R)은 각 행벡터와 열벡터의 크기가 1이고 서로 직교하므로 직교 행렬이다.
- 강체 변환(rigid transformation)은 물체의 형태가 그대로 유지되는 선형 변환을 말한다.
- 변화된 기저벡터의 크기가 모두 1이어야 한다.
- 모든 기저벡터는 서로 직교해야 한다.
- 행렬식(det) 값이 1이어야 한다.
7.2 내적의 시야 판별
■ 7.2.1 앞뒤 판별
- 캐릭터의 정면을 향하는 시선 벡터 f와 캐릭터에서 물체로 향하는 벡터 v가 주어진 상황에서
- 물체가 시선 방향에서 앞에 있는 경우, 두 벡터를 내적한 값은 양수이다.
- 물체가 시선 방향에서 뒤에 있는 경우, 두 벡터를 내적한 값은 음수이다.
- 물체가 시선 방향에서 나란히 옆에 있는 경우, 두 벡터를 내적한 값은 0이다.
■ 7.2.2 시야각 판별
- 캐릭터에게 부여한 시야각이 β, 캐릭터의 정면을 향하는 시선 벡터 f, 캐릭터에서 물체로 향하는 벡터 v가 주어진 상황에서
- 단위 벡터 f와 v를 내적한 값이 cos(β/2)보다 크거나 같은 경우, 물체가 시야 범위 안에 있다.
- 단위 벡터 f와 v를 내적한 값이 cos(β/2)보다 작은 경우, 물체가 시야 범위 밖에 있다.
7.3 조명 효과의 구현
- 램버트 반사(lambertian reflection) 모델
- 빛을 받아 표면에서 반사되는 빛의 세기는 두 벡터가 만드는 사잇각의 cos 함수에 비례한다.
- 두 단위 벡터 N과 L을 내적하여 이 모델에 필요한 cosθ를 얻을 수 있다.
7.4 투영 벡터
- 벡터의 내적을 활용해 투영 벡터를 구할 수 있다.
- 임의의 두 벡터 u, v가 주어졌을 때, 벡터 u를 벡터 v에 투영하는 수식은 다음과 같다.

'Computer Science > 게임 수학' 카테고리의 다른 글
게임 수학 | 3부 3차원 콘텐츠 제작 | 11장 외적 (0) | 2023.03.08 |
---|---|
게임 수학 | 3부 3차원 콘텐츠 제작 | 10장 3차원 공간 (0) | 2023.02.27 |
게임 수학 | 2부 콘텐츠 제작 기초 | 09장 게임 엔진 (0) | 2023.02.20 |
게임 수학 | 2부 콘텐츠 제작 기초 | 08장 삼각형 (0) | 2023.02.18 |
게임 수학 | 2부 콘텐츠 제작 기초 | 06장 아핀 공간 (0) | 2023.02.17 |
댓글