일지
-
유니티 화면 비율 고정 처리...23일지 2021. 12. 10. 20:12
전체 화면에서 비율 고정 처리 전체 화면(Alt + Enter)에 진입했을 때 화면이 모니터 모양으로 바뀌는 게 아닌 지정된 비율로 적용되도록 처리한다. ResolutionController.cs public class ResolutionController : MonoBehaviour { // 생략 private bool m_fullscreen; // 생략 /// /// 초기화 하며 필요한 값을 미리 가져온다. /// private void Initialize() { // 생략 m_hwnd = FindWindow(null, "FixedResolution_DetectByCursorIcon"); GetWindowRect(m_hwnd, out m_wndRect); m_updateState = UpdateSta..
-
알고리즘...91일지 2021. 12. 10. 19:51
그래드 파일 기본 그리드 파일은 키의 내용에 의해 레코드가 저장된 곳을 단번에 알아낼 수 있도록 설계된 다차원 저장, 검색 수단이다. 그리드 파일은 공간을 격자 영역으로 나누고 해당 영역에 속하는 레코드들을 모아서 저장하여 임의의 레코드에 대한 저장과 검색을 단번에 할 수 있게 한다. 그리드 파일의 삽입 과정에서 만들어지는 일차원 배열을 통해 각 레코드의 페이지 위치를 단번에 알아낼 수 있으므로 검색은 알아낸 페이지에서 값을 찾으면 된다. 데이터가 방대하여 그리드 배열이 메인 메모리에 수용할 수 없을 정도로 크더라도 두 번의 디스크 접근으로 임의의 레코드의 검색이 가능하게 된다. ※ 레코드에 넣을 수 있는 값의 개수가 충분히 커야 적절하게 활용할 수 있다. 더보기 참고문헌 한빛아카데미.문병로.(2016...
-
유니티 화면 비율 고정 처리...22일지 2021. 12. 9. 18:15
기존 처리에 크기 제한 추가 WinProc 코드에서 최대 크기, 최소 크기에 대한 제한이 상당히 괜찮아 보여서 추가하려고 한다. 단, 가로 세로 크기를 동일하게 둘 생각인데 가로 크기 제한과 세로 크기 제한이 달라서 가로로 줄일 때와 세로로 줄일 때 사이즈가 서로 다르다는 것을 발견했기 때문이다. 이게 굉장히 이상하게 느껴졌기에 가로, 세로의 크기 제한을 같은 값을 사용할 생각이다. 먼저, 크기 조절을 위한 변수를 추가했다. // 화면 최소 크기 public int MinSize { get; set; } = 512; // 화면 최대 크기 public int MaxSize { get; set; } = 1024; 이후 기존 크기 변경 코드를 함수로 분리한 뒤, 사이즈 조절 후에도 크기가 지정된 크기를 벗어나..
-
JUNGOL...166일지 2021. 12. 9. 15:04
Intermediate_Coder/그래프탐색-DFS/단지번호붙이기 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 형식 첫 번째 줄에는 지도의 크기 N(정사각형임으로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1..
-
알고리즘...90일지 2021. 12. 8. 08:49
R 트리 삽입 기본적으로 R 트리의 삽입은 B 트리의 삽입처럼 동작한다. 삽입 가능한 노드를 찾은 뒤 값을 삽입 시도한다. 노드에 여분의 공간이 있으면 그대로 종료한다. 노드에 여분이 없으면 오버 플로우 처리를 하여 형제 노드에 분배한다. 이때, 노드를 분배하게 되면 R 트리의 영역에 변동이 생기게 된다. 가령 기존 트리에 M, N을 순서대로 삽입한다면 M을 삽입할 때는 여유 공간이 있어 값을 추가하고 종료하지만 N 이 삽입될 때는 형제 노드에 값을 분배하면서 영역이 달라지는 것을 확인할 수 있다. R 트리 삭제 R 트리의 삭제 처리도 기존 B 트리와 동일하게 진행된다. 다만, 이 때도 마찬가지로 언더플로우에 대한 처리를 진행하게 되면 영역의 모양은 달라지게 된다. 더보기 참고문헌 한빛아카데미.문병로.(..
-
JUNGOL...165일지 2021. 12. 2. 14:13
Intermediate_Coder/그래프탐색-DFS/단지번호붙이기 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 형식 첫 번째 줄에는 지도의 크기 N(정사각형임으로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1..
-
알고리즘...89일지 2021. 12. 2. 13:29
R 트리 B 트리를 다차원 검색이 가능하도록 수정한 검색 트리로 KDB 트리와 달리 키를 모두 포함하는 최소 영역에만 노드가 존재한다. B 트리와 마찬가지로 영역 노드와 키 노드, 두 가지 노드가 존재한다. R 트리는 다음의 성질을 갖는다. 루투를 제외한 모든 내부 노드는 └k/2┘ ~ k 개의 영역을 갖는다. 모든 리프 노드는 같은 깊이를 가진다. 모든 레코드는 리프 노드에서만 가리킨다. 아래와 키가 존재할 때 R트리의 표현은 다음과 같다. 이름 key1 key2 A 8 100 B 4 10 C 6 35 D 1 10 E 6 60 F 5 45 G 7 85 H 3 20 I 10 70 J 2 30 K 8 50 L 4 50 ※ R 트리는 한 노드에 있는 영역이 서로 겹칠 수 있으며 검색 경로가 유일하지 않을 수..
-
유니티 화면 비율 고정 처리...21일지 2021. 11. 30. 17:02
화면 크기 변경 시 튀는 이유 확인 aero snap 처리를 위해 현재 Screen.width 와 Screen.height가 기존 설정된 값과 다를 때 SetResolution 처리를 하고 있는데 이 상태가 Update 내에서 돌고 있다 보니 변경 중에 Update가 호출되면 문제가 되는 것 같다. 일단 해당 코드를 주석 처리했을 때는 문제 없이 동작하는 것으로 확인된다. 그래서 플래그를 하나 추가해서 사이즈 변경이 진행되는 동안에는 플래그를 활성화 하도록 처리했다. 그런데 이 방법으로도 처리를 막을 수 없었다. 수정된 이후에도 Screen.Width와 rc의 값이 달랐던 것 같다. 그래서 설정 함수 내에 setWidth와 setHeight 설정을 rc로 하는대신 Screen.Width 와 Screen...