목록전체 글 (167)
센로그
◆ 동적 계획법 (Dynamic Programming)입력 크기가 작은 부분의 문제들을 해결한 후, 해당 부분 문제의 해를 활용해서 보다 큰 문제를 해결해나가는 알고리즘. 다음 두 가지 조건을 만족해야 동적 계획법으로 쓸 수 있다.작은 문제들의 해를 활용해 큰 문제를 풀 수 있어야 함.최적의 원칙 : 전체가 최적이면 부분에 대해서도 최적이어야 함. ◆ 분할 정복법 vs 동적 계획법ㆍ분할 정복법- 하향식(top-down) 해결법- 큰 문제를 해결하는 데에만 관심이 있음 ㆍ동적 계획법- 상향식(bottom-up) 해결법- 작은 문제의 해결을 활용해 큰 문제를 해결 ◆ 이항 계수(binomial coefficient) 구하기분할 정복법 vs 동적 계획법으로 이항 계수를 구하는 법을 알아볼 것이다. ◆ 이항 ..
◆ 분할 정복식 설계 전략큰 문제를 작은 문제로 나누어 해결한 후, 해답을 모아 큰 문제의 해를 만드는 방법문제의 성질과 전체 형태가 작은 문제에서도 똑같이 유지 됨 분할(Divide): 해결하기 쉽도록 문제를 여러 개의 작은 부분으로 나눈다.정복(Conquer): 나눈 작은 문제를 각각 해결한다. 통합(Combine): (필요하다면) 해결된 해답을 모은다. 이러한 문제 해결 방법을 하향식(top-down) 접근 방법이라고 한다. ◆ 바닥 함수와 천장 함수 바닥 함수: 실수 x에 대해, x보다 작거나 같은 정수 중 가장 큰 정수 천장 함수: 실수 x에 대해, x보다 크거나 같은 정수 중 가장 작은 정수 ◆ 이분 검색 (binary search)배열을 반으로 나눠서, 찾아야할 x와 locatio..
IK란 뭐고, 왜 배우는지에 대한 내용. ◆ 관절체가 있는 캐릭터의 Animation 관절체가 있는 캐릭터 애니메이션이 현실적으로 느껴지게 하려면 몇가지 제한(constraint)이 필요함 1) 관절이 돌아갈 수 있는 최대 각도가 있음 2) 관절들은 서로 겹칠 수 없음 3) 관절 길이, 키 등 개인적 차이에 따라 물리적으로 타당하게 움직여야 함 ◆ Inverse Kineatics (IK) 란? 관절체의 끝단(end-effector)의 움직임을 이용해 나머지 관절체의 움직임(position, rotation 등)을 결정하는 기술 모든 관절에 대해 각각의 움직임을 정의해줘야하는 Forward Kinematics (FK) 와 반대(Inverse)되는 기술! ◆ IK problem IK문제는 비선형적(non-l..
◆ Vectors and Matrices 3D 그래픽에서는 많은 벡터와 행렬 연산이 나오기 때문에 잘 알고있어야 함~ ◆ 벡터의 크기 (Magnitude) ||v|| = \(\sqrt{a² + b²}\) Vector v = (3,1)일 때 v의 크기 ||v|| = \(\sqrt{3² + 1²}\) = \(\sqrt{10}\) ◆ 벡터의 연산 - 덧셈, 뺄셈, 상수배 덧셈, 뺄셈, 상수배는 각각 요소별로 계산하면 됨 Vector a = (1,2) 이고 Vector b = (2,1)일 때 a + b = (3,3) a - b = (-1,1) 3a = (3,6) ◆ 벡터의 연산 - 스칼라곱 (Dot Product, Scalar Product) aㆍb = a₁b₁ + a₂b₂ = ||a||||b||c..
◆ Polygon이란? 3차원 메쉬의 정보를 표현하는 데 쓰이는 기본 단위 평면(plane) 위에 표현되는 기본 도형들. ㆍ보통 게임 그래픽에서는 삼각형 폴리곤을 많이 사용함. ※ but, 무조건 삼각형은 아님! - 삼각형(triangle polygon)은 연산이 빠르지만, 빛 계산이 어려울 수 있음(→ 게임에서 주로 사용) - 사각형(quad polygon)은 연산이 좀 느리지만, 빛 계산 정확히 할 수 있음(→ 영화에서 주로 사용) ㆍ폴리곤의 크기가 작을수록 정교하고 부드러운 메쉬 표현 가능 ◆ Polygon Mesh의 특징 Typical closed mesh(구멍이 없는 mesh)의 경우,일반적으로 트라이앵글 개수 = 정점의 개수 * 2 정도이다. 삼각형 메쉬의 꼭짓점을 v(vertex..
◆ 알고리즘의 정의 문제를 해결할 수 있는 1) 잘 정의된, 2) 유한시간 내에 종료되는, 3) 계산적인 절차 1) well defined: 잘 정의 되었다는 것은 a가 설명했으면 b가 그걸 정확하게(다르게 해석되지 않게) 이해할 수 있는 것. 2) finite : 언젠가는 끝나는 게 보장되어야 함 3) computational: 입력을 받아서 출력으로 전환시켜주는 일련의 계산 절차. 알고리즘은 프로그램의 엔진에 해당하는 중요한 절차이다!! ◆ Algorithm vs Method Algorithm은 유한 시간 내에 종료됨 Method는 유한 시간 내에 종료되는지 모름 ◆ 문제의 표기 방법 문제 답을 찾고자 던지는 질문 parameter 매개변수 문제에서 특정 값이 주어지지 않은 변수 instance 문제..