전체 글(273)
-
[BOJ] 16928번 | 뱀과 사다리 게임 (C++)
🔗문제 보러가기 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 🧑💻풀이 과정 BFS로 쉽게 풀 수 있는 문제인데, 저는 사다리나 뱀을 타고 간 보드칸을 방문 처리해주질 않아, 엉뚱한 답이 나왔습니다. 이걸 빨리 알아채지 못해서 시간을 좀 허비했네요. 아무튼, 제가 푼 풀이 과정은 다음과 같습니다. 뱀이나 사다리 정보를 가지고 있는 vector teleports(100 + 1)을 준비한다. teleports[i] = 0 👉🏻 뱀이나 사다리가 없음을 의미 telep..
2023.12.01 -
[게임 수학] # 17 | 3차원 공간
*인프런 강의를 듣고 공부한 글입니다. *여기에 나오는 예시들은 오른손 좌표계에 Y-up 체계를 기준으로 합니다. 1. 3차원 공간왼손 좌표계와 오른손 좌표계2차원 공간은 \(x, \ y\) 축 2개만 사용하면 간단하게 구현할 수 있었는데, 3차원 공간같은 경우에는 축(\(z\))이 하나 더 늘어나게 됩니다. 3개의 축으로 구성된 3차원 공간을 어떻게 설계하는지에 따라, 앞으로 전개할 수학식이나 응용 프로그램의 사용 방식이 달라지게 되므로, 이 체계를 확실하게 잡는 것부터 먼저 시작해야 합니다. 이러한 체계에는 왼손 좌표계와 오른손 좌표계가 있습니다. 일반적으로 모니터를 바라봤을 때, 오른쪽을 \(x\) 축, 위쪽을 \(y\) 축으로 고정해두는 편인데, 이 나머지 \(z\) 축이 모니터 안 쪽 너머로..
2023.11.30 -
[게임 수학] #16 | 뷰 공간(View Space)
*인프런 강의를 듣고 공부한 글입니다. 1. 카메라(Camera)게임이란 콘텐츠는 사용자가 스테이지를 만드는 것이 아니라, 게임을 플레이하는 사람을 대변하는 아바타가 게임 공간(월드 공간)을 탐험하는 형태로 구성되는 것이 일반적입니다. 아바타를 중심으로 시야 영역 내의 모습들이 모니터 화면에 표시하는 형태로 구현되며, 이는 월드 공간의 일부분을 화면에 표현하는 방식으로 구현됩니다. 이러한 내용을 구현하기 위해 아바타가 보는 시야를 우리가 볼 수 있게 어떤 가상의 카메라가 필요하고, 카메라에 보이는 모든 물체들이 카메라 시야를 기준으로 재해석되어 렌더링 되어야 합니다. 즉, 카메라에 보이는 물체들은 카메라를 기준으로 월드 공간에 재배치되어야 하고, 이러한 공간을 뷰 공간(View Space)라고 합니..
2023.11.29 -
[Visual Studio Code] "unable to start debugging. unable to establish a connection to gdb. debug output may contain more information." 오류
결론부터 말씀드리면 Visual Studio Code에서 따로 설정을 하여 해결한 것은 아닙니다. 단순히, 저의 어리석은 실수로 인해 발생했던 문제였어요... 이걸 겪으면서 C++ 언어의 무서움이 다시 한 번 느껴집니다. 오류를 안 뱉어요... ☢️ 문제가 발생한 상황 🔗단지번호붙이기라는 백준 사이트 문제를 푸는 중이었고, 작성한 코드가 제대로 돌아가는지 Visual Studio Code 상에서 실행을 해봤습니다. 그런데, 입력값을 주고 실행을 시켜도 아무런 응답이 없었습니다. 무슨 일인가 싶어 중단점을 찍고 다시 입력값을 준 후, 한 줄을 실행했는데 이번에는 디버거가 꺼져버렸습니다. 이게 무슨 일인가요?... 그러다가 Visual Studio Code에서 에러 메세지를 하나 내보내 줍니다. unable..
2023.11.28 -
[게임 수학] #15 | 게임 엔진(Game Engine)
*인프런 강의를 듣고 공부한 글입니다. 1. 로컬 공간과 월드 공간로컬 공간(Local Space) "하나의 물체를 그리는 데 사용하는 공간" 입니다. 어떤 하나의 물체는 여러 개의 점들이 모여서 형성되는데, 이러한 물체를 그리기 위해서는 원점을 중심으로 각 점의 상대적인 위치를 지정해야 합니다. 2차원 평면을 기준으로 하게 된다면 원점은 \((0, \ 0, \ 1)\) 이 될 것이고, 물체를 형성하는 점들은 이 원점을 기준으로 상대적인 위치에 배치되겠지요. 즉, 물체가 곧 세상의 중심인 셈입니다. 월드 공간(World Space)"게임 스테이지를 구성하는 데 사용되는 별도의 공간"입니다. 게임은 하나의 공간에 여러 물체가 배치되어 있고, 주인공이 움직이면서 공간을 탐험해야 합니다. 그런데 로컬..
2023.11.28 -
[게임 수학] #14 | 텍스처 매핑(Texture Mapping)
*인프런 강의를 듣고 공부한 글입니다. 1. 무게중심 좌표의 활용무게중심 좌표를 구하고, 각 좌표값의 범위를 모두 0 이상 1 이하로 설정한다면 삼각형 내부에 있는 점이라는 걸 보장할 수 있다는 걸 알아봤습니다. 이러한 용도 외에도 무게중심 좌표를 통해 생성한 점이 삼각형 내부에서 해당 픽셀이 3개의 점 중에 얼만큼의 영향을 받고 있는지에 대한 영향력을 나타내는 데에도 유용하게 사용됩니다. 즉, 세 점에 대해 영향을 얼만큼 받는지에 대한 가중치들을 통해 삼각형 내부 색상을 칠하는 데 응용할 수 있습니다. 삼각형 칠하기무게중심 좌표를 생성하는 방정식, \( P' = s \cdot P_1 + t \cdot P_2 + (1-s-t) \cdot P_3 \) 에서 각 계수들은 가중치 값을 나타냅니다. 만약..
2023.11.28