목록전체 글 (135)
센로그
※ 참고 본문 내용들은 좌표값이 열벡터로 표현될 때에 관한 것임. 행벡터로 사용하고 싶으면 양 변 전치하면 됨. (AB)T = (BT)(AT) 열벡터를 v, 변환 행렬을 M이라고 할 때 Mv가 변환된 결과값이 될 것. 행벡터(vT)인 경우, (Mv)T = (vT)(MT)가 성립함. OpenGL은 열벡터(column vector style)를 사용하는 데 반해, DirectX에서는 행벡터(row vector style)를 사용함. 따라서 변환 순서 유의하자. ◆ Scaling 오브젝트의 사이즈를 바꾸는 것. Scaling factor S는 몇 배를 키울건지를 의미함. 각 Vertex 좌표에 곱하는 S가 1보다 크면 커지고, 1보다 작으면 작아짐 ◇ 2D Scaling 각 Vertex 좌표(coordinat..
◆ Introduction n개의 joint가 있다고 할 때, θ_1~θ_n까지의 joint angle이 존재한다. θ_j는 j번째 joint의 회전 각도. (회전축을 알고있다고 가정) IK를 풀기 위해, end effector가 최대한 target position에 가깝도록 하는 joint angle들이 결정되어야 함. s_1~s_k : root에 대한 end effector들의 상대 좌표라 하자. s 벡터 : end effector position들을 {s_1, s_2, ... , s_k}^T 열벡터 형태로 표현. t 벡터 : target position들을 {t_1, t_2, ... , t_k)^T 열벡터 형태로 표현함. t_i는 i번째 end effector의 targe..
◆ 탐욕적인 알고리즘 (Greedy Algorithm) 이란? 현 단계(상태)에서 가장 좋다고 생각되는 답을 선택함으로써 최종적인 해답에 도달하는 방법. 현 시점의 가장 좋은 해는 local 최적해이다. 그러나 항상 이것들이 모여서 global 최적해를 만들진 않는다. 따라서, 탐욕적인 알고리즘을 사용하려면 항상 최적의 해답을 주는지를 반드시 검증해야 함! ◆ 탐욕적인 알고리즘 설계 절차 걍 이런게 있구나 알고, 실제 알고리즘에서 어떤 부분이 어느 단계에 속하는지 알면 됨 1. 선정 과정 (selection procedure) 현재 상태에서 가장 좋으리라고 생각되는(greedy) 해답을 찾아서 해답모음(solution set)에 포함시킨다. 2. 적정성 점검 (feasibility check) 새로 얻은..
◆ 동적 계획법 (Dynamic Programming) 입력 크기가 작은 부분의 문제들을 해결한 후, 해당 부분 문제의 해를 활용해서 보다 큰 문제를 해결해나가는 알고리즘. 다음 두 가지 조건을 만족해야 동적 계획법으로 쓸 수 있다. 작은 문제들의 해를 활용해 큰 문제를 풀 수 있어야 함. 최적의 원칙 : 전체가 최적이면 부분에 대해서도 최적이어야 함. ◆ 분할 정복법 vs 동적 계획법 ㆍ분할 정복법 - 하향식(top-down) 해결법 - 큰 문제를 해결하는 데에만 관심이 있음 ㆍ동적 계획법 - 상향식(bottom-up) 해결법 - 작은 문제의 해결을 활용해 큰 문제를 해결 ◆ 이항 계수(binomial coefficient) 구하기 분할 정복법 vs 동적 계획법으로 이항 계수를 구하는 법을 알아볼 것이..
◆ 분할 정복식 설계 전략 큰 문제를 작은 문제로 나누어 해결한 후, 해답을 모아 큰 문제의 해를 만드는 방법 문제의 성질과 전체 형태가 작은 문제에서도 똑같이 유지 됨 high) //데이터가 없는 경우 return 0; else{ mid = (low + high) / 2; //중간 값 갱신 if (x == S[mid]) //key를 찾은 경우 return mid; else if (x < S[mid]) //key가 중간값보다 작은 경우 return location(low, mid - 1); //왼쪽 배열 반 선택 else //key가 중간값보다 큰 경우 return location(mid + 1, high); //오른쪽 배열 반 선택 } } ◇ 이분 검색 - 최악의 경우 시간 복잡도 분석 단위연산 : x..
IK란 뭐고, 왜 배우는지에 대한 내용. ◆ 관절체가 있는 캐릭터의 Animation 관절체가 있는 캐릭터 애니메이션이 현실적으로 느껴지게 하려면 몇가지 제한(constraint)이 필요함 1) 관절이 돌아갈 수 있는 최대 각도가 있음 2) 관절들은 서로 겹칠 수 없음 3) 관절 길이, 키 등 개인적 차이에 따라 물리적으로 타당하게 움직여야 함 ◆ Inverse Kineatics (IK) 란? 관절체의 끝단(end-effector)의 움직임을 이용해 나머지 관절체의 움직임(position, rotation 등)을 결정하는 기술 모든 관절에 대해 각각의 움직임을 정의해줘야하는 Forward Kinematics (FK) 와 반대(Inverse)되는 기술! ◆ IK problem IK문제는 비선형적(non-l..