본문 바로가기

전체 글

(104)
[기초수학] 경우의 수 (곱의 법칙, 합의 법칙) 목표경우의 수(곱의 법칙, 합의 법칙)를 파헤쳐 보자. 곱의 법칙과 합의 법칙을 사용하는 경우와 둘 다 필요한 경우 살펴보기들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다. 경우의 수경우의 수어떤 사건이 일어날 수 있는 모든 결과의 가짓수 1. 곱의 법칙 (AND): 두 사건이 동시에 일어날 때 곱하기 (또는 일이 끝나지 않았다면, 연달아 일어나야 한다면) ‼️동시에 = 같은 시각에 던지는 것이 아니라, 모두 실행하면 동시에라고 함 (AND) 주사위도 던지고, 동전도 던져야 해 → 각각 언제 던지든 상관 없이 결국 둘 다 던져야 해동시 상영 → 같은 시각에 영화를 틀어주는 게 아니라, A영화도 B영화도 틀어주겠다는 뜻아침 먹고, 점심 먹고, 저녁 먹기 → 동시에 아침 점심..
[게임수학] 축-각 회전 - 사원수(ft. 복소수) 목표복소수를 검토하고 복소수 곱셈이 평면에서 회전을 수행하는 방식사원수와 사원수에 정의된 연산 이해단위 사원수 집합이 3차원 회전을 나타내는 방법다양한 회전 표현 간의 변환 방법단위 사원수 간 보간 방법을 배우고, 이것이 3D 방향 간 보간과 기하학적으로 동일하다는 것을 이해XNA Math 라이브러리의 사원수 함수와 클래스들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다. 축-각 회전, 로드리게스 회전 공식  인프런 강의 중 이득우의 게임 수학의 이해를 바탕으로 작성되었습니다.   복소수 (Complex Number)복소수란?실수부와 허수부인 두 개의 원소로 구성된 수1. 복소 평면으로 나타낸 복소수복소 평면에서 복소수는 아래처럼 좌표로 나타낼 수 있다. 2. 복소수의 곱셈 연..
[게임수학] 텍스쳐 매핑(ft. UV 좌표) 목표셀에 색상을 보간하는 법텍스쳐 핑하는 법UV 좌표를 활용해 텍스쳐의 특정 부분만 매핑하는 법들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다. 데카르트 좌표계와 스크린 좌표계 인프런 강의 중 이득우의 게임 엔진을 지탱하는 게임 수학을 참고하여 작성되었습니다. 색상 선형보간삼각형에 색상을 선형 보간하여 칠하는 법1. 무게 중심 좌표의 활용도무게 중심 좌표는 2가지 경우로 활용된다.무게 중심 좌표는 선형적으로 보간된다.따라서, 무게 중심 좌표를 활용하여 삼각형의 내부를 칠하여 선형적인 효과를 부여할 수 있다.픽셀이 삼각형 내부에 있는지 외부에 있는지 판단픽셀의 내부에서 점 3개 중에 각각의 점으로부터 받는 영향력 픽셀의 내부에서 각 픽셀은 가까운 점으로부터 영향력을 많이 받는 ..
[게임 수학] 축-각 회전- 로드리게스 회전 공식, 내적/외적 문제 목표로드리게스 공식을 이용하여 내적, 외적 문제 풀기들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다. 내적, 정사영(벡터 투영)외적축-각 회전 (Axis-Angle Rotation)축-각 회전이란?3차원 회전을 위해 '임의의 회전 축'과 '회전시킬 점이 속해있는 평면'을 설정한 후에 돌려주는 방법 축-각 회전 방식으로는 로드리게스 회전과 사원수가 존재한다.로드리게스 회전은 행렬로 변환하기 까다롭기 때문에 게임 엔진에서는 사원수(쿼터니언)를 사용한다.로드리게스 회전 공식로드리게스 회전 공식을 다음과 같다.임의의 축 $\vec{n}$에 대하여 $\vec{u}$를 각 $\theta$만큼 회전 시켜 $\vec{u'}$을 구한다.유도 과정1. 벡터 투영 공식 이용하여 벡터 OO' 구하..
[게임수학] 외적 목표외적외적 연산의 성질외적의 사인 공식외적의 활용들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다. 삼각 함수후면 추려내기내적 인프런 강의 중 이득우의 게임 엔진을 지탱하는 게임 수학 을 참고하여 작성되었습니다. 외적외적이란?3차원 공간에서 벡터를 응용하는데 사용되는 유용한 연산 외적의 결과는 항상 두 벡터에 모두 수직인 법선 벡터가 나오기 때문에,면의 방향을 나타내는 법선 벡터를 구할 때 유용하게 사용된다. (ex. 면의 방향에 따라 컬링, 좌우 판별)외적은 교환 법칙이 성립되지 않는 뺄셈 연산이 포함되기 때문에 교환 법칙이 성립하지 않는다.외적 연산의 성질$$v × u = - (v × u)$$교환 법칙 성립 X결합 법칙 성립 X덧셈에 대해 분배 법칙 성립 O외적과 내적의 ..
[게임수학] 오일러 각, 짐벌락 목표오일러 각오일러 각으로 나타낸 회전 행렬짐벌락들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다. 회전 행렬강체 변환 인프런 강의 중 이득우의 게임 엔진을 지탱하는 게임 수학을 참고하여 작성되었습니다. 오일러 각 (Euler angle)오일러 각이란?강체(Rigid body)가 놓인 방향을 3차원 공간에 표시하기 위해 도입된 세 개의 각도 강체란 변하지 않는 물체를 의미하므로, 세 개의 축은 서로 직교함을 의미한다.오일러 각은 서로 직교하는 이 세개의 축이 가리키는 방향을 각도로 나타낸다.1. 왜 오일러 각을 사용하는가?회전 행렬을 나타내기 위해 총 9개의 원소(3차원 상의 각 로컬 축)를 필요로 한다.어차피 회전 행렬의 각 축은 기저 벡터이므로 직관적이고 계산량이 적도록 ..
[게임수학] 3차원 공간, 트랜스폼(SRT 행렬) 목표3차원 회전행렬 이해들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다. 강체 변환역행렬 인프런 강의 중 이득우의 게임 엔진을 지탱하는 게임 수학을 참고하여 작성되었습니다. 3차원 트랜스폼 (Transform)* (DirectX기준) Y-up, 왼손 좌표계, 행 기반 행렬입니다.트랜스폼이란?게임 오브젝트의 위치, 회전, 스케일(크기), 부모-자식 상태를 저장하여 변환하는 것 트랜스폼(변환)은 행렬을 사용하며, 대표적으로 T(위치), R(회전), S(크기) 행렬로 트랜스폼을 구현한다.이를 변환행렬이라고 지칭한다. 월드 변환 행렬(local → world), 카메라(시야) 변환 행렬(world → view) 등이 있다.트랜스폼 설정 시 고려사항2차원 트랜스폼을 3차원으로 확장할 ..
[게임 수학] 삼각형(컨벡스 조합) - Triangle List, 무게 중심 좌표 목표 들어가기 전 본 글에서 직접적으로 설명하지 않지만, 언급하고 있는 내용입니다.  목차더보기   인프런 강의 중 이득우의 게임 엔진을 지탱하는 게임 수학을 참고하여 작성되었습니다. 큰주제제목ㅇ  1. 소제목본문