Make Unreal REAL.
article thumbnail
사원수의 변환

이득우의 게임 수학 사원수를 활용해 3차원 벡터를 회전시키는 기능을 구현했지만, 사원수를 구성하는 실부수와 허수부 요소 값은 직관적이지 않아 회전을 설계할 때 어려움이 따른다. 3차원 공간에서 물체의 회전을 설정할 때에는 사원수보다 오일러 각 방식이 직관적이고 편리하기 때문에, 오일러 각 값을 사원수로 변환해주는 기능을 만들면 게임 제작에 유용하게 활용할 수 있다. 오일러 각의 회전은 x, y, z 기저 축이 회전축의 역할을 수행하며, 예를 들어 3차원 공간에서 x축을 중심으로 각 θ만큼 회전시키는 데 사용하는 회전 사원수는 다음과 같다. 따라서, 오일러 각을 구성하는 Roll, Pitch, Yaw 회전에 대응하는 각 사원수는 다음과 같이 표기된다. 오일러 각의 회전 순서를 Roll - Pitch - Y..

article thumbnail
Level 2. 소수 찾기

Level 2. 소수 찾기 뭔가 복잡한 코드를 짜서 어딘가에선 오류가 발생할 줄 알았는데, 바로 통과해서 당황했다. next_permutation() 함수와 비트 마스킹을 활용해 순열과 조합을 만들었다. #include #include #include #include #include #include using namespace std; vector C(vector& v, int n, int r) { set st; vector bitMask(n, 0); fill(bitMask.end() - r, bitMask.end(), 1); do { vector t; for (auto it = find(bitMask.begin(), bitMask.end(), 1); it != bitMask.end(); it = fin..

article thumbnail
<ARAG> 개발 시작
게임 개발/<ARAG> 2023. 6. 6. 21:50

ARAG (A Really Awesome Game) Commit 84d1e 1월부터 지금까지 언리얼 엔진과 게임 수학에 대해 책과 강의로 공부했고, 오늘부터 본격적으로 게임을 만들어 보려고 한다. 아직 어떤 게임을 만들 것인지 정해진 것은 없고 장르만 RPG로 정했다. RPG가 게임 개발에 필요한 지식들의 총집합이라고 들었기 때문에 선택했다. 따라서 사냥, 인벤토리, 아이템, 거래 시스템 등 RPG의 기본 요소를 먼저 구현할 생각이다. 최근 큰 기업들을 중심으로 GAS의 활용이 늘고 있다고 들어서 이 게임에도 GAS를 활용할 생각이고 멀티 플레이어 지원도 고려하고 있다. 기본 요소들을 구현한 후에 젤다의 전설의 공격 속성 시스템 등의 다른 게임들에 있는 요소들을 추가해 볼 생각이다. 우선, 언리얼 엔진으..

article thumbnail
사원수의 회전

이득우의 게임 수학 회전 사원수 q를 사용해 임의의 회전축 n에 대해 3차원 공간의 벡터 v를 각 θ만큼 회전시키는 방법을 확인해본다. 3차원 공간의 벡터 v(x, y, z)는 순허수 사원수에 대응된다. 회전축 n(a, b, c)은 단위 벡터이기 때문에 a² + b² + c² = 1을 만족하고, 회전축 n을 기준으로 각 θ만큼 회전시키는 회전 사원수 q는 (cosθ, sinθ · n)의 값을 가진다. 회전 사원수 q를 사용해 벡터를 회전시키는 방법은, 회전 사원수를 벡터의 왼쪽에 배치하고 둘을 곱하는 것이다. 사원수의 곱셈을 교환법칙이 성립하지 않기 때문에, 항상 곱하는 순서에 주의해야 한다. 그런데 계산 결과를 보면 순허수 사원수가 아닌 네 요소를 모두 사용하는 일반 사원수가 나오기 때문에, 순허수 사..

article thumbnail
Level 2. 땅따먹기

Level 2. 땅따먹기 재귀로 풀었더니 시간 초과가 발생했다. // 이 풀이는 시간 초과가 발생한다. #include #include #include using namespace std; void rSolution(int cur_col, int depth, int sum, vector& land, set& st) { const static int row = land.size(), col = land.front().size(); if (row

article thumbnail
사원수와 오일러 공식

이득우의 게임 수학 복소수 체계에서 크기가 1이고, 제곱한 값이 -1이 되는 허수 i를 사용해 오일러 공식을 전개할 수 있었다. 사원수에서도 허수 i와 동일하게 크기가 1이고, 제곱한 값이 01인 수가 있다면 오일러 공식을 만족할 것이다. 크기가 1인 순허수 사원수가 있을 때, 크기는 1, 제곱한 값은 -1이 된다. 크기가 1인 순허수 사원수 q.n(0, n)은 다음 식이 성립한다. 그러므로 허수부의 벡터 n의 크기도 1이 됨을 알 수 있으며, 내적 n·n의 값도 1이 된다. 순허수 사원수 q.n의 제곱을 전개하면 다음과 같다. 내적 n·n의 값은 1이고, 동일한(평행한) 벡터의 외적은 영벡터가 되므로 위 식은 다음과 같이 간략화된다. 따라서, 크기가 1인 순허수 사원수를 제곱한 결과는 -1이 됨을 확인..

검색 태그