5장_송민철Chapter5.

Download Report

Transcript 5장_송민철Chapter5.

Chapter5
운동학적 연계
(Kinematic Linkages)
08053028 송민철
객체의 움직임을 기술하는데 다른 객체와의 움
직임을 관련시키는 것은 종종 유용하다.
연계를 지원하는 데이터 구조를 어떻게 구성하
고 시간에 따른 위치 매개변수를 어떻게 지정
하거나 결정하는지에 대해 설명한다.
계층적 모델링
(Hierarchical Modeling)
계층적 모델링은 트리와 비슷한 구조로 조직된 객
체 사이의 제약조건으로 연결이 이루어지도록 하
는 것이다. 태양계와 같은 천체 시스템은 한 가지
유형의 계층적 모델이다.
그래픽스에서 사용되는 계층적 모델의 일반적인
유형은 끝과 끝이 연결된 형태로 된 다중체 관절 연
결구조의 객체이다. 이러한 계층구조는 사지의 관
절이 움직이는 외지를 가진 형상을 만들 때, 팔, 다
리 관절을 잘 다루어야 하므로 동물이나 사람을 모
델링 할 때 아주 쓸만하다. 이러한 현상은 흔히 유
관절체라고 한다. 연결부의 배치를 변화시켜 외지
가 움직이는 것은 관절이라고 한다.
계층적 모델링에 좋은 예들
계층적 모델의 데이터 구조
인간의 형상과 동물은 계층적인 연결부 형태로 손쉽게 모형화 할 수
있다. 이러한 연결부는 호에 의해 연결된 노드(node 정점과 같은 의
미)의 트리 구조 형태로 표현 할 수 있다.
전역 좌표계에서 그 위치가 알려져 있는 계층적 모델의 루트 객체에
해당하는 트리의 최상위 노드를 루트 노드(root node)라고한다. 계층
구조상에서 모든 다른 노드의 위치는 루트 노드에 대해여 상대적인
위치에 놓일 것이다. 아래쪽 방향으로 확장할 호가 없는 노드는 최종
노드(leaf node)라고 부른다. “계층 구조에서 높은 곳”이란 루트 노드
에 가까이 있는 노드를 말한다. 호에 의해서 연결된 두 노드에 대하
여 이야기 할 때 계층구조에서 한 단계 더 높은 위치의 노드를 부모
노드(라고 하며, 한 단계 아래의 노드를 자식 노드라고 한다.
추상화된 계층적 표현
전방 (순방향)운동학, 역방향 운동학이
란?
순방향 운동학이란?
계층 구조에 따라 운동의 영향이 중심에서 가장자리로 흐르는 원리를
에니메이션에 적용하는 기술.
역방향 운동학이란?
계층구조를거쳐 아래쪽이라기보다는 계층 구조를 거쳐 위쪽으로
흐르는 계층 구조속의 변형들의 흐름을 계산하는 에니메이션 기
술
http://www.youtube.com/watch?v=pGuR4xyi7
MQ
해석학에 의한 단순계의 해
L1
L2
L1-L2≤루트(X제곱+Y제곱) ≤L1+L2 :최종목표 위치의 좌표는
길이의 덧샘과 뺄샘사이에 한정된다.
코싸인 법칙을 이용하여 역운동학의 해석학적 해를
구할수 있다.
야코비안 행렬식
컴퓨터 애니메이션에서 관심을 가지는 대부분의 구조는 해석학적 해를 구하기
에는 너무나 복잡하다. 그럴 경우 움직임은 점진적으로 생성된다.
각 시간 간격에서 끝단부의 현재 위치와 방향을 원하는 배치로 도달하기 이하
여 각 관절각을 변화시키는 최선의 방식으로 계산한다.
관절각에서 변경을 계산하기 위해 사용되는 몇 가지 방법이 있으나 대부분 야
코비안이라는 부분 도함수 행렬 형태로 이루어져 있다.
http://www.youtube.com/watch?v=qZoxlGOU5ag
5장 요약
계층적 모델은 애니메이터가 여분의 DOF(관절자유도?)에 관해서
만 집중할 수 있도록 하기 때문에 요소들간에 일정한 관계를 강제
로 부여하기 위해서 매우 쓸만하다. 전방 운동학은 에니메이터가
각 DOF를 외부적으로 제어할 수 있지만, 계층 연결 구조의 가장 끝
요소 애니메이션이 특정한 위치나 방향을 얻기 위하여 매우 번거
로운 작업을 해야 한다. 역 운동학은 야코비안 행렬의 의사 역행
렬을 사용하므로, 에니메이터가 각 체인의 끝 부분에 대한 조건에
만 집중하는 것이 가능하다. 하지만 이 때문에 바람직하지 않은
결과를 얻을 때도 있다. 특정한 캐릭터의 바람직한 해를 표현하기
위하여 추가적인 제어식을 야코비안 행렬의 의사 역행렬에 첨가
하는 것이 좋다. 그럼에도 불구하고 이 절에서 언급한 방법은 모
두 운동학적 기술이다. 가끔씩 보다 사실적인 움직임이 필요하며,
이 때문에 물리학에 기반한 시뮬레이션이 필요하다.