목록전체 글 (252)
cyphen156

수학은 비대면강의입니다제목과 전혀 상관없는 문제이차방정식의 해를 구하라제약사항ax + by = cdx + ey = f-1,000 주의 사항x와 y를 공백으로 구분해 출력한다.CPP풀이수학은 비대면강의입니다_19532.cpp/** * 백준 수학은 비대면강의입니다_19532 * 제목과 전혀 상관없는 문제 * 이차방정식의 해를 구하라 * 이차방정식의 근의 공식 * => ad - bc * ==> ae - bd * * 제한사항 ***************************************** * ax + by = c * * dx + ey = f * * -1,000 using namespace std;int m..

namespace _25._04._01_Divide_conquer{ internal class Program { static void Main(string[] args) { string str1 = "Hello"; string str2 = "Hello"; if (str1 == str2) { Console.WriteLine(); } string str3 = str1; } }}만약 다음과 같은 코드가 있다고 생각해보자str1과 str2의 주소는 서로 다르지만 값은 같은 것을 가리키고 있다. 그리고 이 문자열 "H..

분해합 분해합 : N과 N을 이루는 각 자리수의 합 (245 => 245 + 2 + 4 + 5 == 256)생성자 : M의 분해합이 N인 경우가장 작은 생성자를 구하라제약사항0 if No Result, returns 0 주의 사항없다.CPP풀이분해합_2231.cpp/** * 백준 분해합_2231 * 분해합 : N과 N을 이루는 각 자리수의 합 (245 => 245 + 2 + 4 + 5 == 256) * 생성자 : M의 분해합이 N인 경우 * 분해합이 주어졌을 때 가장 작은 생성자를 구하라 * * 제한사항 ***************************************** * 0 using namespace std;int main(void){ bool isConstructor = fals..

3차원 공간은 원근감이 존재하기 때문에 구현 방법이 복잡해지고, 예상밖의 상황이 많이 생긴다고 한다. 이것을 오일러의 각도법과 벡터의 외적으로 하나씩 해결해 나가면서 여러 수학적 지식과 게임 엔진 개발에 대한 지식들을 배울 수 있을 것 같다.좌표계 기준이 전에 한번 언급한적 있었던 왼손 좌표계와 오른손 좌표계에 대한 내용이다. 이 둘은 관점에 따라 3차원 공간을 설계하는 큰 차이를 만들어내는 기준들이 되는데 그 기준이 물체를 바라보는데 있어서 나를 기준으로 오는지, 또는 앞으로 가는지를 결정한다.대표적인 특징은 다음과 같다. 하지만 상대적인 기준일 뿐 절대적이지는 않다.왼손 좌표계 : 배경을 관찰하는데 적합하다오른손 좌표계 : 물체를 관찰하는데 더 익숙하다.밑의 그림은 대표적인 게임, 모델링 툴, 엔진과..

게임 엔진은 유니티와 엔진과 자체엔진 개발공부로 어느정도 학습해 나가고 있다고 생각한다.이번 9장에서는 이득우 교수님의 CK소프트 렌더러라는 CPU BaseEngine에서 게임이라는 소프트웨어를 구성하기 위해 게임 엔진이 어떤 기능을 해야 하는지 배울 것이다.우선 모든 게임 오브젝트가 기본적으로 가지고 있는 Transform에 대해서 생각해 보면Position(T), Rotation(R), Scale(S)로 정의된다.이 트랜스폼 정보들은 행렬 곱 연산을 통해 아핀 변환을 수행하기 때문에 교환 법칙이 성립하지 않아 순서가 가장 중요하다. 이 변환의 순서 조합은 6가지가 생기는데 다음과 같다.S * R * TS * T * RT * S * RT * R * SR * S * TR * T * S이렇게 순서에 따라 ..

항상 모든 몬스터의 인공지능을 개발자가 코딩할 수는 없다. 그래서 유니티에서는 길찾기 알고리즘을 개발하는 시간을 단축할 AI Navigation이라는 레지스트리 패키지를 제공하고 있다.그리고 AI가 돌아다닐 수 있도록 Plain에 NavMesh Surface 컴포넌트를 달아준다.여러가지 옵션들이 있지만 주의깊게 봐야 할 것은 Agent Type과 Default Area이다.어떠한 형태의 오브젝트가 어느 부분을 활용하여 이동할지를 결정하는 것이기 때문에 항상 이것을 실제 AI오브젝트에 달린 컴포넌트와 맞춰 주어야 한다.AI를 통해 제어할 오브젝트에 Nav Mesh Agent컴포넌트와 제어 스크립트를 부착해준다.Using문using UnityEngine.AI;using Unity.AI.Navigation;..

이전까지는 한 점(점의 좌표) 혹은 두 점(선분, 벡터) 에 대해 공부했다면, 이제부터는 3D 그래픽스 및 게임 그래픽에서 가장 기본적인 단위인 세 개의 점(정점, Vertex)으로 구성된 삼각형에 대해서 배우겠다. 정점(Vertex), 삼각형(Triangle), 폴리곤(Polygon)앞선 장에서 두 벡터가 서로 선형 독립의 관계라면 같은 차원 내의 공간상에서 어떠한 벡터든 만들어 낼 수 있다고 배웠다.그런데 아핀 공간상에서 점들의 결합의 스칼라 결과는 항상 1이 되어야 한다고 했다.또한 선분을 그릴 때 S와 T값을 [0, 1]로고정한다면 유한한 크기의 직선을 구할 수 있다고 했다.이것을 통해 삼각형의 형태 안에 존재하는 점들이 모두 아핀 결합식으로 생성될 수 있는 점들이라 판단할 수 있다.이렇게 탄생한..

게임에서 빛의 표현을 위해 사용하는 여러가지 공식들이 있다. 그 중 하나가 램버트 반사 모델이다.램버트 반사는 물체가 광원으로부터 빛을 받았을 때 반사하는 빛의 세기가 Cos함수에 비례 한다는 것을 착안하여 만들어낸 모델이다. 다만 모든 표면이 동일하게 빛을 확산 반사한다고 가정하기 때문에 정확한 빛의 반사를 표현하기는 어렵지만 단순하기 때문에 빠른 연산속도를 보장하고, 그럴듯한 음영 효과를 플레이어에게 제공하기 때문에 유용한 공식이다.다음은 플레이어 포지션을 따라 광원으로부터 빛을 반사하는 예제이다.공유 변수// 게임 로직과 렌더링 로직이 공유하는 변수/// 7_2 예제/// 조명 모델 구현하기Vector2 lightPosition; // 광원LinearColor lightColor;Vector2 ci..