게임수학

· 게임수학
스켈레탈 애니메이션게임에서 캐릭터 애니메이션은 가상의 뼈대인 본(Bone)을 캐릭터 메시에 심은 후, 해당 본의 움직임에 맞춰 캐릭터 메시가 변형되는 방식을 사용한다.이러한 방식을 스켈레탈 애니메이션(Skeletal animation)이라고 부른다.스켈레탈 애니메이션을 구현하려면 기존 메시 체계를 확장해 본을 추가해야한다.본은 단순히 이동만 하는 것이 아니고 회전하거나 크기도 변경되므로 본의 정보는 트랜스폼에서 관리한다.본을 구성하려면 3가지 정보가 필요하다.본이 움직일 때 상대적인 변화량을 파악하는데 기준으로 사용하는 바인드보즈(Bindpose)정보본의 트랜스폼 정보를 저장할 공간본을 식별할 수 있는 고유한 이름 정보배경으로 사용되는 애니메이션이 없는 고정된 메시는 본 정보가 필요하지 않다.하지만 애니..
· 게임수학
사원수 대수사원수는 복소수와 동일하게 허수를 사용하는 수의 집합이다.사원수는 하나의 실수부와 세 개의 허수부로 구성된다.총 4가지 수체계를 사용하기 때문에 사원수라고 한다.사원수에서는 세 허수부를 구성하는 단위를 각각 i, j, k로 표시한다.사원수를 구성하는 세 허수사원수는 3개의 허수부 i, j, k로 구성되어 있지만 이들은 모두 복소수의 허수 단위 i와 같은 성질을 가진다.i^2 = -1i^2 = j^2 = k^2 = -1세 허수 중에서 두 허수의 곱은 다음과 같이 나머지 다른 허수에 대응된다.이들은 회전의 순환 순서 x -> y -> z -> x와 유사하게 i -> j -> k -> i 순서로 대응된다.ij = k jk = iki = j위 식으로부터 ij의 값은 k가 되고 kk의 결과는 -1이므로..
· 게임수학
자연 지수 함수무리수 e와 허수 단위 i, 그리고 삼각함수와의 관계를 이용해 나타낸 오일러 공식은 다음과 같다.//오일러 공식e^iθ = cosθ + isinθ오일러 공식을 이해하려면 좌변의 자연지수함수 f(x) = e^x와 우변에 있는 두 삼각함수 sin 함수와 cos 함수의 미분을 이해하고, 이들을 급수로 표현하는 방식을 알아야 한다.무리수 e스위스 수학자 야코프 베르누이(Jakob Bernouli)는 아래 수식으로 복리 수익을 연구하고 있었다.y = (1 + 1/x)^x굉장히 큰 값을 x에 대입할 수록 결괏값이 특정 상수 2.7182818…에 근접한다는 사실을 알아냈다.이 수를 무리수 e라고 부른다.무리수 e를 극한(Limit)과 무한대(∞)의 개념을 사용해서 다음과 같이 표현할 수 있다.e = l..
· 게임수학
복소수일상적으로 사용하는 대부분 수는 하나의 값으로 표현된다.특이하게 두 개의 값으로 구성되는 수집합이 있다.이를 복소수(Complex number)라고 한다.집합 기호는 C로 표현한다.복소수는 위 그림과 같이 실수(Real number)와 허수(Imaginary number)의 독립된 2개의 요소로 구성된 수집합이다.허수복소수 체계에서 허수는 실수와 구분된 단위를 가진 특별한 수다.모든 실수는 제곱하면 0보다 크거나 같은 수가 나온다.이러한 실수의 정의만으로 풀리지 않는 문제가 등장하면서 이를 해결하고자 제곱해서 음수가 되는 상상의 수를 고안하였다.이것이 바로 허수다.복소수 체계에서 실수와 허수는 물과 기름과 같이 완전히 분리된 성질을 가진다.이 둘을 구분하기 위해 허수에 i라는 기호를 사용한다.이를 ..
· 게임수학
트렌스폼게임은 주로 게임 엔진에 의해 개발된다.게임 엔진의 편리한 인터페이스로 개발자들은 손쉽게 콘텐츠를 제작할 수 있다.게임 엔진의 기저에 가상 세계를 만드는 수학과 게임 콘텐츠를 구성하는 데이터를 효과적으로 관리하는 기술이 지탱되고 있음게임 엔진은 씬(Scene)과 리소스(Resource)라고 불리는 공간과 데이터를 결합해 최종 화면을 렌더링되도록 설계되었다.씬을 구성하는 게임 오브젝트는 게임 공간에 항상 존재해야 하기 때문에 언제나 공간 내 배치 정보를 가져야한다.게임 엔진은 게임 오브젝트의 배치 정보를 위치, 회전, 크기로 구성된 트랜스폼(Transform)의 정보를 사용해 관리함게임 개발자는 게임 오브젝트의 트랜스폼을 구성하는 위치, 회전, 크기에 대한 정보를 입력해 게임 공간에 게임 오브젝트를..
· 게임수학
절두체 컬링절두체(Frustum)는 평면으로 표현되는 부분을 뜻한다.즉, 시야에 보이는 영역을 표현한 입체를 뜻한다.절두체 컬링(Frustum Culling)을 이용하여 절두체 영역 밖에 있는 게임 오브젝트를 파악하고 걸러내는 기능을 구현할 수 있다.카메라 영역 밖에 있는 오브젝트는 드로우콜을 생략할 수 있다.평면의 방정식세 점이 주어지면 세 점으로부터 두 벡터를 생성해 평면 상의 모든 점을 생성할 수 있다.따라서 하나의 평면을 정의하려면 최소 3개의 점이 필요하다.3차원 공간의 평면은 앞면과 뒷면이 존재하기 때문에, 이를 구분할 수 이는 정보도 있어야 한다.평면을 정의할 때는 위 그림의 (a)와 같이 세 점의 정보를 사용하기 보다 (b)와 같이 평면이 바라보는 방향을 알려주는 법선 벡터와 평면 상에 위..
· 게임수학
원근 투영?3차원 좌표 형태의 점을 스크린 위의 2차원 좌표로 투영하는 법세상에는 많은 투영법이 존재한다.원근 투영 변환투시 원근법(Perspective projection) : 눈에 보이는 상을 그대로 화폭에 담기 위해 시선을 한 점에 고정시키고, 고정된 점으로부터 화폭까지 곧게 뻗은 실을 활용한 화법이며 르네상스 시대에 창안된 기법우리 눈이 바라보는 방식으로 가상 공간을 변환하는 것을 원근 투영 변환(Perspective projection transformation)이라고 한다.가상 공간에서 눈에 대응하는 물체는 카메라다.원근 투영 변환을 설계하기 위해서는 눈에 보이는 범위를 카메라에도 설정해야 하는데 이를 화각(Field of view)라고 한다.카메라에 화각을 설정하면 위 그림과 같이 좌우와 위..
· 게임수학
벡터의 외적3차원 벡터의 외적은 x기호를 사용한다.외적의 결과는 내적과 다르게 또다른 벡터이다.이는 연산 결과가 항상 스칼라로 나오는 내적과 대비된다.외적은 행렬식으로도 구할 수 있다.3차원 벡터 u와 v..
hanseongbugi
'게임수학' 카테고리의 글 목록