반응형

분류 전체보기 282

[홍정모의 그래픽스 새싹코스 Part1] 구 만들기

앞서 이 포스팅은 홍정모의 그래픽스 Part1을 수강하고 작성한 내용입니다. 강의의 세부 코드는 첨부하지 않고, 결과와 이론 위주로 포스팅했습니다. 구와 직선의 방정식 구를 스크린 좌표에 나타내기 위해서는 먼저 구의 방정식을 알아야한다. x를 구 위의 점, c를 중점, r을 반지름이라고 했을 때 구의 방정식은 다음과 같다. 그리고 점 x를 지나고 o에서 시작하는 방향벡터가 u인 직선의 방정식은 다음과 같다. 구와 직선의 교점관계 먼저 구와 직선이 만날 때는 3가지 관계로 분류할 수 있는데 1. 만나지 않는 경우 2. 한 점에서 접하는 경우 3. 두 점에서 만나는 경우가 있다. 직선과 구의 교점을 x라고 하자. 구의 방정식 x에 직선의 방정식을 대입하면 다음과 같다. 내적을 전개하면 아래와 같다. 여기서 ..

CS/그래픽스 2023.12.06

[홍정모의 그래픽스 새싹코스 Part1] 원 만들기

앞서 이 포스팅은 홍정모의 그래픽스 Part1을 수강하고 작성한 내용입니다. 강의의 세부 코드는 첨부하지 않고, 결과와 이론 위주로 포스팅했습니다. Case 1 : Screen 좌표 2차원 원을 그리고자 한다. 원은 중심과 그 반지름을 알면 2차원에서의 원을 그릴 수 있다. 모든 픽셀을 순환하면서 해당 픽셀이 원의 반지름보다 가깝거나 같으면 색칠을 해주고, 반지름보다 크면 색칠해주지 않으면 된다. IMGUI로 원의 중심, 반지름, 색칠할 RGB값이 미리 세팅되어 있다. 원을 그리는 코드는 Update에 있는데, 여기서 모든 픽셀을 순환하면서 원의 영역 안에 있으면 픽셀을 색칠해 주면 되었다. "영역 안에 있다"는 Circle.h 안의 IsInside 함수를 사용했는데, 해당 점의 좌표가 원 안에 있으면 ..

CS/그래픽스 2023.12.05

[백준 1725] 히스토그램 C++

문제 백준 1725 히스토그램 1725번: 히스토그램 첫 행에는 N (1 ≤ N ≤ 100,000) 이 주어진다. N은 히스토그램의 가로 칸의 수이다. 다음 N 행에 걸쳐 각 칸의 높이가 왼쪽에서부터 차례대로 주어진다. 각 칸의 높이는 1,000,000,000보다 작거나 같은 자 www.acmicpc.net 풀이 오름차순 Monotonic Stack을 활용했다. startIdxs(n) 배열을 사용했는데, 이 배열은 i번째 value에 대해, 그보다 작은 값이 그전 원소들 중에서 언제 처음 등장하는지 인덱스를 담고 있는 배열이다. 작은 값이 없다면 0을 담고 있다. 예를 들어서 5 3 2 3 5에 대해 startIdxs는 idx순서대로 각각 0, 0, 0, 2, 3이 된다. 넓이를 구할 때는 특정 원소가 ..

알고리즘/백준 2023.12.04

[백준 3015] 오아시스 재결합 C++

문제 백준 3015 오아시스 재결합 3015번: 오아시스 재결합 첫째 줄에 줄에서 기다리고 있는 사람의 수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에는 각 사람의 키가 나노미터 단위로 주어진다. 모든 사람의 키는 231 나노미터 보다 작다. 사람 www.acmicpc.net 풀이 N = 500,000이므로 O(N^2)으로 푸는 것은 불가능하다. 따라서 Monotonic Stack을 활용한다. Monotonic Stack [알고리즘] Monotonic Stack 개요 자신보다 큰 값(혹은 작은 값)이 언제 처음 오는지에 대해 구해야 할 때, 가장 쉽게 떠올릴 수 있는 방법은 2중 for 문을 쓰는 것이다. 예를 들어 다음과 같이 숫자가 있다고 할 때 3 4 1 5 2 각 ga..

알고리즘/백준 2023.12.02

[알고리즘] Monotonic Stack

개요 자신보다 큰 값(혹은 작은 값)이 언제 처음 오는지에 대해 구해야 할 때, 가장 쉽게 떠올릴 수 있는 방법은 2중 for 문을 쓰는 것이다. 예를 들어 다음과 같이 숫자가 있다고 할 때 3 4 1 5 2 각각의 숫자에 대해 그 수보다 큰 수가 처음 등장하는 인덱스(0부터 시작)를 나타내면 다음과 같다. num : 3(1) 4(3) 1(3) 5(x) 2(x) 2중 포문을 사용하게 되면, n개의 원소에 대해 시간 복잡도는 O(n^2)이다. 이를 스택을 사용하면 한 번만 순회를 돌면서, 즉 O(n)만에 자신보다 큰 인덱스를 찾을 수 있다. Monotonic Stack monotonic stack의 원리는 간단하다. stack에 들어있는 원소가 내림차순(혹은 오름차순)이 되게 정리만 해주면 된다. 1. 즉..

알고리즘 2023.11.30

[소스트리] 오류: System.ComponentModel.Win32Exception: 지정된 파일을 찾을 수 없습니다

개요 새 저장소를 만들고 싶어서 Clone을 위해 주소를 가져왔다. 유효한 소스 경로/URL이 아니라고 뜬다. 탐색을 눌러보니 뭔가 파일을 찾을 수가 없다. 찾아보니 Git을 내장으로 사용해서 발생하는 문제라고 한다. 해결책 도구 -옵션으로 들어간다 System Git을 사용한다. 저장소를 다시 정상적으로 찾을 수 있었다.

2023.11.14

[게임 리뷰] 세븐나이츠 키우기

요새 커리어 고민이 많은데, 모바일 쪽으로 계속 경력을 이어나가고 싶다. 개발도 개발이지만, 시장 상황은 알아야 해서 좀 규모가 있는 회사들의 모바일 게임을 찍먹해봐야하지 않을까 생각했다. 그러던 와중 회사 다른 부서에서 유사 장르로 경계하던 세나키우기를 레퍼런스 조사 겸 해보게되었다. 예전에 초등학교 때인가 중학교 때인가 기억은 잘 안 나는데 세븐나이츠를 꽤나 오래 했어서 캐릭터들도 다 아는 얼굴이였다. 진행은 방치형 게임이니만큼 엄청 단순했다. 메인 스토리가 있지만, 큰 의미를 가지진 않았다. 보스를 잡으면 다음 스테이지로 넘어가는 구성이다. 보스 패턴은 크게 보면 다음과 같았다. 1. 보스 한 마리 : 나중에는 연타 공격를 하거나 저주(회복 불가)를 거는 패턴도 있어서 맞춤 조합이 필요했다. 2. ..

게임/모바일 2023.11.09

[프로그래머스 131130] 혼자 놀기의 달인 C#

문제 프로그래머스 131130 혼자 놀기의 달인 C# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제 설명이 너무 장황하게 되어 있어서... 처음에 독해가 힘들었는데 그냥 간단히 말하면 카드에 적혀있는 숫자를 인덱스로 생각해서 루프를 돌고, 루프 중 제일 긴 것과 그 다음으로 긴 것의 곱만 구하면 되는 문제이다. 루프를 돌 때 어디를 출발지점으로 지정하느냐가 중요할 거 같았는데 생각해보니 카드 숫자는 중복이 없으므로 무조건 순회하는 루프를 만들게 된다. (즉, 루프의 어디서든 시작해도 길이가 항상 똑같음) 그래서 방문 체크를 하는 리스트 visi..

[방탈출] Let's Play (렛츠 플레이) 후기

테마 정보 항상 시끌벅적하고 기쁨이 넘치던 왕국에 어느날 갑자기 대우울이 찾아왔다. https://www.xphobia.net/quest/quest_view.php?qr_id=1606978532 방탈출카페 비트포비아 탈출의 경계를 무너뜨리다, 비트포비아! 방탈출부터 어메이징 던전까지 다양한 어드벤처를 경험해보세요! www.xphobia.net 정보(매장) 장르 : 판타지 시간 : 60분 난이도 : 2 / 5 추천인원 : 2 ~ 5 players 2인, 3 Hint, 00:12 Left 난이도 난이도 높은 문제는 없고, 단순 자물쇠보다는 기기를 조작하여 푸는 문제가 많다. 자물쇠와 장치 문제 모두 지문이 꽤 긴편인데, 초조해하면 더 풀기 힘들다. 차근차근 읽으면서 하나하나 진행하는 것이 좋다. 생각보다 어..

방탈출 2023.09.26

[SourceTree] Visual Studio 및 소스 트리 한글 깨짐 수정 및 UTF-8 설정하기

개요 소스트리에서 주석 등을 작성할 때 한글 깨짐 오류를 수정한 기록을 남긴다. 본문 먼저 프로젝트에서 어떤 한글 인코딩 방식을 사용하는지 먼저 확인해줘야 한다. 프로젝트에서 UTF-8을 사용하기로 약속되어 있었으므로 Visual Studio와 소스 트리 모두 기본 설정을 UTF-8로 해줄 필요가 있었다. Visual Studio와 Unity를 사용했었고 Visual Studio 세팅은 다음과 같이 UTF-8로 인코딩 되어 있었다. Visual Studio에서 인코딩을 확인하는 방법은 .editorconfig파일을 확인하면 된다. root = true 및 [*] 밑에 charset = utf-8을 적어주면 utf-8로 인코딩 된다. 혹시라도 이렇게 했는데 한글이 깨져 보이는 경우에는 도구 - 옵션 - 텍..

2023.07.25
반응형