프로그래밍 공부

2024/05 57

카테고리 설명
  • Quick Sort퀵정렬이란?찰스 앤터니 리처드 호어가 개발한 범용 정렬 알고리즘으로, 현 알고리즘 중 가장 고성능(최적의 항에서) 을 자랑하는 알고리즘으로, 주어진 배열을 정렬하는 분할 정복(Divide and Conquer)알고리즘 이다. 분할정복알고리즘의 기본 해결방법으로, 엄청 크고 방대한 문제를 조금조금씩 나눠가면서 용이하게 풀 수 있는 문제단위로 나눈 다음 다시 합쳐서 해결하는 방식 특징 및 장점평균 시간 복잡도는 O(n long n)이다. 가장 최악으로 치솟으면 O(n^2)이다.제자리 정렬(in-place Sort)로, 추가적인 메모리 공간이 거의 필요가 없다.비교 기반 정렬 알고리즘 중 가장 빠른 알고리즘 중 하나이다.퀵정렬의 과정퀵 정렬은 다음과 같은 과정으로 배열을 정렬한다.배열에서 피..

  • 문제 설명수학에서 칸토어 집합은 0과 1 사이의 실수로 이루어진 집합으로, [0, 1]부터 시작하여 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만들어집니다. 남아는 칸토어 집합을 조금 변형하여 유사 칸토어 비트열을 만들었습니다. 유사 칸토어 비트열은 다음과 같이 정의됩니다. 0 번째 유사 칸토어 비트열은 "1" 입니다.n(1 ≤ n) 번째 유사 칸토어 비트열은 n - 1 번째 유사 칸토어 비트열에서의 1을 11011로 치환하고 0을 00000로 치환하여 만듭니다.남아는 n 번째 유사 칸토어 비트열에서 특정 구간 내의 1의 개수가 몇 개인지 궁금해졌습니다.n과 1의 개수가 몇 개인지 알고 싶은 구간을 나타내는 l, r이 주어졌을 때 그 구간 내의 1의 개수를 return 하도록 sol..

  • 언리얼에서 IK기능을 활용하여 애니메이션을 원하는대로 수정, 적용할 수 있다. IK기능과 FK기능이 무엇인지, 어떤역할로 어떤방식으로 동작하는지 설명할 수 있다.IK란 무엇인가? IK가 무엇인가? 이를 이해하려면 FK와 IK의 차이점을 이해해야 한다. Forward Kinematics(FK)여기서 H를 움직인다고 가정한다.FK방식에서는 Root->SP1->SP2->A->K->H 순서대로 움직임을 제어한다. 즉, Root이 움직이면 그 하위에 있는 SP1부터 H까지의 모든 관절이 같이 움직이게 된다.가장 최우선의 관절부터 객체를 움직이게 되는걸 FK라고 한다. 동작방식순차적 관절 회전 캐릭터의 각 관절을 순차적으로 회전시켜 원하는 포즈를 만든다.직접 제어에니메이터가 관절별로 직접적으로 위치와 회전을 제어한..

  • Inverse Kinematics(IK) 여기서 H를 움직인다고 가정한다.IK방식에서는 H를 움직이면, H -> K -> A -> SP2 ->SP1 -> Root 순서대로 움직임을 제어한다. 즉, H가 움직이면 그 상위에 있는 움직임에 한단계 씩 움직임을 제어하게 되는것 이다.움직이려는 관절부터 움직이면서 상위본 으로 움직임을 전파하는것을 IK라고 한다. 동작방식말단 관절 제어 캐릭터의 손이나 발 같은 말단 관절의 위치를 먼저 지정한다자동 계산나머지 관절의 회전값은 지정된 관절 위치에 도달하도록 자동으로 계산된다.편리성단순히 말단 관절을 움직이면 중간 관절들이 자동으로 적절히 배치된다.장점직관적이다.말단의 관절의 위치만 지정하고 움직이면 됨으로 직관적이고 쉽게 제어할 수 있다.시간 절약많은 관절을 쉽고 ..

  • Forward Kinematics(FK)여기서 H를 움직인다고 가정해본다.FK방식에서는 Root->SP1->SP2->A->K->H 순서대로 움직임을 제어한다. 즉, Root이 움직이면 그 하위에 있는 SP1부터 H까지의 모든 관절이 같이 움직이게 된다.가장 최우선의 관절부터 객체를 움직이게 되는걸 FK라고 한다. 동작방식순차적 관절 회전 캐릭터의 각 관절을 순차적으로 회전시켜 원하는 포즈를 만든다.직접 제어에니메이터가 관절별로 직접적으로 위치와 회전을 제어한다.예측 가능성각 관절의 회전이 직접적으로 영향을 주기 때문에, 결과를 예측하기 쉽다.장점단순하다.계산이 비교적 단순하기에 리소스가 적게든다. Root부터 나머지 본으로 연산을 더해버리면 되기때문.정밀 제어개별 관절을 직관적으로 정밀하게 제어할 수 있..

  • 어차피 DirectX3D나 Unreal로 작업해도 큰 문제가 없다고 판단, 수업진도를 맞춰서 다른 작업을 진행해야 하기 떄문에, 시간관계상 언리얼로 작업을 이전한다.   개선, 해당 개선안을 사용해서 Unreal로 게임작업 진행중.