Presentation is loading. Please wait.

Presentation is loading. Please wait.

2장 기술적 배경 지식 (Technical Background)

Similar presentations


Presentation on theme: "2장 기술적 배경 지식 (Technical Background)"— Presentation transcript:

1 2장 기술적 배경 지식 (Technical Background)
학기 컴퓨터 애니메이션

2 2.1 공간과 변환(Spaces and Transformations)
자료의 변환 필요 물체의 데이터 합성 환경을 만들기 위하여 정의된 공간에서 세계 공간으로 변환 다음에는 물체의 데이터를 애니메이션을 만들기 위하여 시간의 함수로 변환 그래픽스에서 변환을 표현하는 주요한 방법은 4X4(4행 4열) 변환 행렬을 이용 회전, 이동, 확대/축소(scale)의 조합을 표현하는데 이용 좌표 공간은 왼손 혹은 오른손 좌표계로 정의 y y z x x z (a) (b) Z축은 왼손 좌표 시스템을 위해 페이지 안쪽으로 들어간다. Z축은 오른손 좌표 시스템을 위해 페이지 바깥쪽으로 나온다. 학기 컴퓨터 애니메이션

3 2.1.1 디스플레이 과정(Display Pipeline)
물체의 데이터를 원래의 정의된 공간에서 여러 공간들을 거쳐 최종적으로 화면상에 투영될 때까지 거치는 변환 물체 데이터는 조명을 효율적으로 계산하고, 가시 볼륨(view volume)에 맞게 그 데이터를 자르고, 투시 변환(perspective transformation)을 하기 위해서 다른 공간들로 변환된다 학기 컴퓨터 애니메이션

4 객체 공간의 데이터는 보통 원점의 주변에 놓여 있고 -1과 1사이와 같이 표준화된 한정된 범위 안에 있도록 만든다
객체 공간(object space) 객체가 원래 정의되었던 공간 객체 공간의 데이터는 보통 원점의 주변에 놓여 있고 -1과 1사이와 같이 표준화된 한정된 범위 안에 있도록 만든다 세계 공간(world space) 객체 공간으로부터 물체들을 모아 놓은 세계 공간으로 변환됨 객체 공간과 세계 공간은 보통 오른손 공간 보통 일련의 이동, 회전, 확대/축소 등으로 이루어짐 세계 공간은 광원과 관찰자가 있는 공간이며, 관찰자의 매개 변수는 위치(position), 관찰 방향(view direction), 상향 벡터(up vector)로 이루어진 방향성(orientation)을 포함 학기 컴퓨터 애니메이션

5 디폴트 방향성인 직립(straight up),
관찰 방향 관찰 방향은 look-from-point 라고도 알려진 관찰자나 눈의 위치(EYE)로부터 look-to-point 라고도 알려진 관심점으로의 벡터가 관찰 방향이 된다 상향 벡터 디폴트 방향성인 직립(straight up), 관찰 방향과 전역 y-축이 이루는 평면에 놓여 있고 관찰 방향과 수직인 벡터로 물체의 상향 벡터를 정의한다. 상향 벡터는 먼저 관찰 방향 벡터와 y-축의 외적(cross product)을 취하고, 그 벡터를 관찰 방향 벡터와 외적 시켜서 계산 가능(수식 2.1) w = COI – EYE 관찰 방향 벡터 u = w x (0, 1, 0) y-축과 외적 v = u x w 상향 벡터 학기 컴퓨터 애니메이션

6 디스플레이 과정의 표준으로 관측장도 정의되어야 함
관측장(field of view) 디스플레이 과정의 표준으로 관측장도 정의되어야 함 관측각(angle of view), 전방 절단 거리(hither clipping distance),후방 절단 거리(yon clipping distance) 가 필요 관측장의 정보는 투시투영(perspective projection)을 설정하는데 필요함 학기 컴퓨터 애니메이션

7 그림 2.2 물체 공간에서 세계 공간으로의 변환과 세계 공간에서의 관찰 절두체 (view frustrum)
학기 컴퓨터 애니메이션

8 관찰자의 위치, 관찰 방향, 관찰 각, 전방 절단 거리와 후방 절단 거리에 의해 만들어진다.
세계 공간에서의 보이는 영역 관찰자의 위치, 관찰 방향, 관찰 각, 전방 절단 거리와 후방 절단 거리에 의해 만들어진다. 세계 공간상의 6면체인 관찰 절두체(view frustum) 정의 투시 변화에 대한 준비로서, 데이터 점들 보통 세계 공간에서 눈 공간(eye space)으로 변환하며, 눈 공간에서 관찰자는 시선이 z-축과 일치하도록 z-축을 따라 자리를 잡아야 함 이 책에서는, 왼손 좌표계에서 관찰자가 양의 z-축 방향으로 보고 있다고 가정한다. 학기 컴퓨터 애니메이션

9 학기 컴퓨터 애니메이션

10 투시 변환 (Perspective transformation) 물체의 데이터를 눈 공간에서 이미지 공간으로 변환시킨다.
관찰자로부터 멀리 있는 점들은 가까이에 있는 점들보다 x, y 좌표축이 더 축소가 된다: 투시적 원근법 (Perspective foreshortening) 시선은 관찰자에게서 나와서 가시 절두체(view frustum)로 퍼질 때에 갈라짐 이미지 평면이 가시 범위 보통 x, y 방향으로는 –1 에서 1까지 Z 방향으로는 0에서 1까지로 표준화 (혹은 –1에서 1까지) 학기 컴퓨터 애니메이션

11 이차 광선의 생성 없이 광선 추적을 하는 것을 말함
광선 투사법 (ray casting) 이차 광선의 생성 없이 광선 추적을 하는 것을 말함 광선이 관찰자 앞에 있는 가상 프레임버퍼의 픽셀좌표계에 기초를 둔 세계공간에서 만들어졌을 경우에는 [그림 2.4]와 같은 변환으로 단순화된다. 학기 컴퓨터 애니메이션

12 시간의 흐름에 따라 물체의 위치와 방향성을 조정 시간의 흐름에 따라 물체의 모양 조정
애니메이션 생성 방법 시간의 흐름에 따라 물체의 위치와 방향성을 조정 시간의 흐름에 따라 물체의 모양 조정 시간의 흐름에 따라 물체의 디스플레이 속성 조정 시간의 흐름에 따른 세계 공간에서의 관찰자의 관찰자의 위치와 방향 변환 위 변환들의 조합 학기 컴퓨터 애니메이션

13 2.1.2 동질 좌표계 (Homogeneous Coordinates)와 변환 행렬
3차원의 점을 4개의 원소를 갖는 벡터로 표현 점의 좌표는 4번째 성분으로 앞의 3개를 나눈 것 (수식 2.2) (수식 2.2) 세계 공간상의 한 점을 변환할 때, 4번째 성분이 1이 되는 것이 전형적임 즉 공간상의 점은 아주 단순한 동질 좌표계의 표현 (수식 2.3) (수식 2.3) 학기 컴퓨터 애니메이션

14 회전, 이동, 확대/축소의 기본 변환은 4x4 변환 행렬로 나타낼 수 있다.
텍스쳐 매핑과 조명을 계산하는데 중요한 계산 가능한 역(inverse)을 가질 가능성이 있다. 한 점은 4x1행렬(열 벡터라고도 함)로 표현되고 보통 왼편에 4x4 행렬을 곱하여 변환됨 (수식 2.4). (수식 2.4) 학기 컴퓨터 애니메이션

15 2.1.3 변환 합성하기: 변환 행렬 곱하기 변환을 정방 행렬로 표현하는 이유 중의 하나는 합성 변환을 하기 위해서 서로 곱할 수 있기 때문이다. 일련의 변환들을 여러 점에 같이 적용시킬 때 유용하다 (즉 계산적으로 효율적). 행렬의 곱셈에 결합 법칙은 성립하지만, 교환 법칙은 성립하지 않는다 (AB)C = A(BC) AB  BA (수식 2.6) (수식 2.7) 학기 컴퓨터 애니메이션

16 2.1.4 기본 변환 (Basic Transformations)
회전, 이동, 축척(균등, 비균등 포함) 유사 (affine) 변환 위 기본변환과 그들의 조합 각 점 벡터의 4번째 요소는 1이 되고 변환 행렬의 마지막 행은 [ ]이 된다 학기 컴퓨터 애니메이션

17 (수식 2.8) (수식 2.9) 학기 컴퓨터 애니메이션

18 대각선의 첫 세 요소(수식 2.9에서 a, f, k)를 축척 인자(scale factor) S로 표시한 단위행렬이다
균등 축적 변환 대각선의 첫 세 요소(수식 2.9에서 a, f, k)를 축척 인자(scale factor) S로 표시한 단위행렬이다 균등 축척이 아닌 경우 한 점의 x-, y-, z- 좌표축에 독립적인 비율을 적용하여, 대각선에 따라 Sx, Sy와 Sz를 넣으면 된다 (수식 2.10) 학기 컴퓨터 애니메이션

19 균등 축척 (수식 2.10) 학기 컴퓨터 애니메이션

20 회전 (수식 2.12) (수식 2.13) (수식 2.14) 학기 컴퓨터 애니메이션

21 강체 변환 (Rigid transformation) 회전과 이동의 조합
위치와 방위만 변하고 물체의 공간적 용량은 변하기 않기 때문 균등 축척 학기 컴퓨터 애니메이션

22 2.1.5 임의의 방위 표현 고정각 표현(Fixed Angle Representation)
주 축(principal axis) 주변의 일련의 회전으로 하는 것이다. 예를 들어, 비행기가 오른손 좌표계의 원점에 정의되어 있고 머리가 z-축으로, 상향벡터는 y-축의 양의 방향이고 비행기 중심이 (20, -10, 35), 머리가 (23, -14, 40), 상향벡터는 y-축의 일반 방향 (비행기의 중심, 비행기가 향하는 방향과 전역 y-축이 이루는 평면에 상향 벡터가 놓여 있음) (그림 2.5) 학기 컴퓨터 애니메이션

23 학기 컴퓨터 애니메이션

24 비행기의 물체 공간에서의 정의를 세계 공간의 위치와 방위로 변환 회전과 (20, -10, 35)로 이동하는 것으로 변환 분리
비행기의 방위벡터: (23-20, , 40-35) = (3, -4, 5) x-축 회전 (pitch)와 y-축 회전 (yaw)에 의해 원하는 결과를 얻음 비행기를 희망 방위로 두는 변환 결정 비행기의 상향 벡터는 y-축의 양의 방향 비행기의 희망 방위는 z-축의 양의 벡터 학기 컴퓨터 애니메이션

25 회전 행렬에 필요한 사인(sin)과 코사인(cos)의 각의 값은 주축들과 희망 방위 벡터와 관계를 고려하여 결정
Pitch (x-축 회전) 비행기의 머리의 x-축 회전을 위해 방위 벡터를 y-z 평면에 투사 (그림 2.6) 사인(sin)과 코사인(cos)의 각의 값은 투시 벡터와 그 벡터의 끝에서 z-축으로의 수선이 이루는 삼각형의 각으로 정할 수 있다. Yaw (y-축 회전) 피치 회전을 적용한 후에 방향 벡터의 y-축 회전은 x-z 평면상에서 (그림 2.7) 학기 컴퓨터 애니메이션

26 방향 코사인 행렬 (matrix of direction cosine) 희망 방위로의 변환을 표현하는 다른 방법
전역좌표계를 희망 방위의 단위좌표계로 변환 (그림 2.8) M: 변환 행렬 x-축 단위 벡터는 희망 방위 X-축으로 매핑 y-축 단위 벡터는 희망 방위 Y-축으로 매핑 z-축 단위 벡터는 희망 방위 Z-축으로 매핑 (수식 2.15) (수식 2.16) 학기 컴퓨터 애니메이션

27 2.1.6 행렬에서 변환을 구하기 일련의 회전과 이동을 표현하는 합성(compound) 변환 행렬에 대해서, 그 행렬로부터 각 개별 변환들의 집합을 구할 수 있는데, 이들을 같이 곱하면 원래의 합성 변환 행렬이 나온다 합성 변환은 세 개까지의 주축들의 회전(아니면 방향 코사인 행렬로 표현된 한 합성 회전)과 연달은 이동으로 이루어짐 4x4 변환 행렬의 마지막 행은, 만약 그 행렬이 투시 변환을 포함하지 않으면, 첫 세 요소가 0이고, 4번째 요소는 1이 된다 행렬의 마지막열의 첫 세 요소인 A14, A24, A34는 이동을 나타낸다 (수식 2.17) 학기 컴퓨터 애니메이션

28 2.1.7 디스플레이 파이프라인에서의 변환 물체 공간에서 세계 공간으로의 변환
간단한 경우에는 물체 데이터의 변환된 사본을 사용자가 지정한 일련의 회전, 이동, 축척을 실행하는 것 일반적으로 움직임을 만들기 위해서 시간에 따라 변경되는 변환을 나타내며 좀 더 복잡한 애니메이션 시스템의 경우에는 비선형 모양과 같이 임의의 복잡도를 가진 조작을 포함할 수도 있다. 세계 공간에서 눈 공간으로의 변환 투시 변환을 준비하기 위하여, 세계 공간의 모든 물체 데이터에 강체 변환(rigid transformation)을 시키며, 눈 공간에서, 관찰자가 원점에 위치하고, 관찰 벡터는 왼손 좌표계의 양의 z-축 방향으로, 상향 벡터는 양의 y-축 방향으로 정렬되도록 이 변환을 디자인한다 학기 컴퓨터 애니메이션

29 x와 y의 가시 범위를 [-1, 1]로 표준화하는 것이다. 투시적 나누기
투시 행렬 곱하기 투시 행렬의 곱셈은 투시 변환의 첫 부분이며, x-와 y-좌표를 z-좌표로 나누고, x와 y의 가시 범위를 [-1, 1]로 표준화하는 것이다. 투시적 나누기 투시 행렬의 곱으로 만들어진 각 점은, z에 의한 투시적 나누기를 나타내는, 단위가 아닌(nonunit) 네 번째 요소를 가지며, 각 점을 그 네 번째 요소로 나누는 것이 투시변환을 완성하는 것이다. 이미지 공간에서 화면 공간으로의 매핑 투시 변환의 결과는 가시 요소를 x와 y에서[-1, +1]의 범위로 매핑하며, 이 범위는 픽셀 좌표계의 사용자 지정 관찰 영역으로 매핑된다. 학기 컴퓨터 애니메이션

30 2.1.8 절삭 오차 (Round-Off Error) 고려 사항
물체가 애니메이션 될 때, 물체의 점들은 시간에 따라 시간의 함수로 연속적으로 변환하게 됨 물체의 세계 공간에서의 점들을 반복해서 수정하는 것임 세계 공간의 점들을 계속 변환시키면 일반적으로 절삭 오차(Round-off error)가 쌓이게 됨 물체 공간에서 세계 공간으로 변환을 수정해서 그 변환을 물체 공간에 다시 적용하는 방법 세계 공간 좌표에다 변환을 계속 적용하는 것보다 훨씬 낫다 변환 행렬을 반복 수정하면 마찬가지로 절삭 오차가 쌓이게 됨 가장 최선의 방법 각 응용에 대해 변환 행렬을 새롭게 하는 것 학기 컴퓨터 애니메이션

31 대부분의 오차 누적은 3x3 부분 행렬과 점의 x, y, x 좌표를 곱하는 연산 때문에 생기는 것
유사(affine) 변환 행렬 3x3 회전/축척 행렬 뒤에 이동이 따라오는 것 대부분의 오차 누적은 3x3 부분 행렬과 점의 x, y, x 좌표를 곱하는 연산 때문에 생기는 것 달이 지구를 공전하는 경우: 회전의 결과로 오차가 누적됨 지구의 중심이 원점이고, 달의 초기 데이터는 달의 중심이 원점에 정의되었다고 가정 달의 데이터가 (r, 0, 0) 로 변환 달이 지구 주위를 회전하는 애니메이션 애니메이션 각 프레임에 대해 델타 y-축 변환 적용, 델타는 한 프레임 시간에 움직이는 각 절삭오차가 세계공간에서의 물체의 점에 누적됨 학기 컴퓨터 애니메이션

32 2) 각 프레임에 대해 물체 공간의 점들을 세계 공간의 위치로 옮기는 변환 행렬을 증분해서 수정 절삭 오차가 변환행렬에 누적됨
동일 평면성은 보전되고 렌더링 결과는 손상되지 않음 3) 델타 값을 각의 변수의 누적값에 더해서 y-축 행렬을 만든다. 절삭 오차가 각의 변수에 누적되어서 원하는 것에서 벗어남 매 프레임에서의 변환 행렬에 오차가 누적되지 않음 동일 평면상에 있으면서 각을 보전하는 확실한 강체 변환 학기 컴퓨터 애니메이션

33 학기 컴퓨터 애니메이션

34 학기 컴퓨터 애니메이션

35 [그림 2.12] 각 프레임마다 회전 행렬을 새로 만들어 회전
y = 0 Repeat until (done) { // 다음을 반복 R = y-axis rotation matrix of ‘y’ degrees // R = y축으로 ‘y’ ° 회전 For each point P of the moon { // 달의 각점 P에 대해 P’ = R * P // R 적용 } record a frame of the animation // 애니메이션 프레임을 기록 y = y + 5 [그림 2.12] 각 프레임마다 회전 행렬을 새로 만들어 회전 학기 컴퓨터 애니메이션

36 표준정규화(Orthonormalization)
강제 변환을 나타내는 행렬의 행들은 서로 직교(perpendicular)하고 단위 길이를 가짐(orthonormal) 강제 변환 행렬은(일반적 균일 축척이 아니라고 가정) 특별한 성질을 가진 3x3 상 부분 행렬(upper submatrix)임 학기 컴퓨터 애니메이션

37 2.2 방위 표현(Orientation Representation)
컴퓨터 애니메이션의 논점 물체의 위치와 방위를 표현하는 최선의 방법을 결정하는 것과 움직임을 만들기 위해서 시간이 지남에 따라 표현된 변환을 어떻게 보간하는가 하는 것 사용자가 한 객체에 두 가지 변형된 상태를 지정하고 컴퓨터를 이용하여 중간 상태를 보간하여 애니메이션된 키 프레임 동작을 만드는 것 물체의 방위와 위치 표현에는 4x4 행렬 사용 이동을 보간하는 것은 간단하지만, 회전을 어떻게 보간할것인지는 애매함 y-축으로 +90도 회전과 y-축으로 -90도의 회전을 보간하면 무의미한 중간 행렬이 만들어 짐 학기 컴퓨터 애니메이션

38 Y축의 양의 방향으로 90° 회전 Y축의 음의 방향으로 90° 회전 방위 표현의 중간
[그림 2.14] 변환 행렬을 직접 보간하는 것이 무의미한 결과를 가져올 수 있다. 학기 컴퓨터 애니메이션

39 고정 각 표현법 (Fixed angle representation)
2.2.1 고정 각 표현법 고정 각 표현법 (Fixed angle representation) 실제로 고정된 축 주변으로 회전하는데 사용한 각”을 말하며, x-y-z와 같이 고정된 순서로 회전하는 것을 함축 순서 있는 세 고정 축에 대한 회전을 표현하는 순서 있는 세 매개 변수들의 집합으로 방위를 표현 다양한 순서로 회전을 시킬 순 있지만, 사실 세 좌표 축이 모두 사용되어야 할 필요는 없음 한 물체의 방위는 (10, 45, 90)과 같이 세 개의 각으로 주어진다. X축으로 10도, y축으로 45도, z축으로 90도 만큼 회전시켜 얻는다. Rz(90) Ry(45) Rx(10) 같이 표시. 회전 행렬은 오른쪽에서 왼쪽의 순서로 나타남. 학기 컴퓨터 애니메이션

40 Y축 90도 회전이 근본적으로 첫 회전축(X)을 세번째 회전축(Z)과 나란히 하도록 함.
짐벌락 (Gimbal lock) (0, 90, 0) 의 방위를 가지는 물체의 경우 Y축 90도 회전이 근본적으로 첫 회전축(X)을 세번째 회전축(Z)과 나란히 하도록 함. X축 주변으로 미세한 회전의 변화는 z축 주변의 미세한 회전의 변화를 가져옴. 학기 컴퓨터 애니메이션

41 Gimbal lock From Wikipedia, the free encyclopedia
Gimbal lock occurs when the axes of two of the three gimbals needed to compensate for rotations in three dimensional space are driven to the same direction. For example, assume a sensing platform on an aircraft flying due north has its three gimbal axes mutually at right angles, i.e., Pitch, Roll and Yaw angles each zero. If the aircraft pitches up 90 degrees, the Pitch and Roll axes become parallel, and changes about Yaw can no longer be compensated for. This problem may be overcome by use of a fourth gimbal, driven so as to maintain a large angle between Pitch and Yaw gimbal axes. A comparison is to the use of Azimuth angles (Rotation clockwise from North) to define direction. At the poles (latitude 90° north or south), Azimuth becomes meaningless because the poles are singularity points, where all directions in terms of Azimuth are South (or North). 학기 컴퓨터 애니메이션

42 Gimbal A gimbal is a pivoted support that allows the rotation of an object about a single axis. A set of two gimbals, one mounted on the other with pivot axes orthogonal, may be used to allow an object mounted on the innermost gimbal to remain vertical regardless of the motion of its support. For example, shipboard compasses, stoves and even drink holders typically use gimbals to keep them upright with respect to the horizon despite the ship's pitching and rolling. Illustration of a simple two-axis gimbal set.In inertial navigation,as applied to ships and submarines, a minimum of three gimbals is needed to allow an Inertial Navigation System platform (stable table) to remain fixed in inertial space, compensating for the ship's Yaw (direction) as well as its Pitch and Roll. In this application, the Inertial Measurement Unit is equipped with three orthogonally mounted gyros to sense rotation about all axes in three dimensional space. The gyro outputs drive motors controlling the orientation of the three gimbals as required to maintain the orientation of the IMU. In turn, angular measurement devices, called "resolvers" mounted on the three gimbals provide the nine cosine values for the direction cosine matrix needed to orient the ship. 학기 컴퓨터 애니메이션

43 In aerospace inertial navigation systems, Gimbal lock may occur when vehicle rotation causes two of the three gimbal rings to align with their pivot axes in a single plane. When this occurs, it is no longer possible to maintain the sensing platform's orientation. To avoid this problem, a fourth gimbal must be employed, driven so as to keep the other three at substantial angles to each other. Modern practice is to avoid the use of gimbals entirely by mounting the inertial sensors directly to the body of the vehicle strapdown system and integrating sensed rotation and acceleration digitally using Quaternion methods to derive vehicle orientation and velocity. In spacecraft propulsion, rocket engines are generally mounted on a pair of gimbals to allow a single engine to vector thrust about both Pitch and Yaw. To control Roll, twin engines with differential Pitch or Yaw control signals are used to provide torque about the vehicle's Roll axis. 학기 컴퓨터 애니메이션

44 [그림 2.16] 고정 각 표현 학기 컴퓨터 애니메이션

45 데이터 점들에 먼저 적용된 x-축 회전 값을 바꾸면 비행기의 머리가 y-z 평면에서 다소 기울어지게 된다.
y-축 회전 값을 바꾸면 x-축 주변으로 회전된 비행기가 y-z 평면에서 회전되어 나온 정도가 바뀜 마지막 적용되는 회전으로 z-축 회전 값을 바꾸면 이미 두 번 회전된 비행기가 z-축 주변으로 회전하는 정도가 바뀌는 것 y y x x z z 원래의 정의 (0, 90, 0) 방위 [그림 2.17] (0, 90, 0)의 고정각 표현 학기 컴퓨터 애니메이션

46 회전의 축은 전역 축이 아니고 그 물체에 붙어 있는 지역 좌표계
2.2.2 오일러 각 표현 회전의 축은 전역 축이 아니고 그 물체에 붙어 있는 지역 좌표계 오일러 각 표현법의 대표적인 예는 비행기의 [롤(roll), 피치(pitch), 요(yaw)] ([그림 2.19]) 각 시스템은 고정 각 시스템의 역순과 정확하게 일치하는데, 이것은 오일러 각의 어떤 시스템에 대해서도 성립 오일러 각 표현은 고정 각 표현과 정확하게 같은 장단점이 있음 학기 컴퓨터 애니메이션

47 [그림 2.20] 오일러 각 표현 학기 컴퓨터 애니메이션

48 오일러(Euler)의 회전정리(Euler’s rotation theorem)
2.2.3 각과 축(Angle and Axis) 오일러(Euler)의 회전정리(Euler’s rotation theorem) 한 방위는 다른 방위를 어떤 축에 대해 한번 회전을 하여 얻을 수 있다 어떤 방위든지 한 각과 한 벡터(x, y, z)로 된 4개의 요소로 표현될 수 있음 [그림 2.21] 오일러의 회전 정리는 한 객체의 어떠한 두 방위에 대해서, 한 방위는 임의의 한 축에 대해서 다른 방위를 한번 회전해서 만들어 진다는 것을 의미 학기 컴퓨터 애니메이션

49 두 축 사이의 각은 축을 정규화 한 것들의 내적의 역 코사인을 취하여 결정
회전의 축은 두 축의 외적으로 만들어짐 두 축 사이의 각은 축을 정규화 한 것들의 내적의 역 코사인을 취하여 결정 사원수(quaternions)에 의해 이 연산들이 쉽게 구현됨 [그림 2.22] (A1, θ1)와 (A2, θ2)의 축-각 표현의 보간 학기 컴퓨터 애니메이션

50 수(scalar) s와 3차원의 vector v로 나타나는 [s, v]를 말함
2.2.4 사원수(Quaternions) 사원수 4중의 실수 [s, x, y, z]나 또는 수(scalar) s와 3차원의 vector v로 나타나는 [s, v]를 말함 축과 각 표현법의 대안으로 같은 정보를 다른 모양으로 나타냄 일련의 회전을 모은 것을 한 개로 표현할 뿐 아니라 보간할 수 있는 형태 키프레임 애니메이션을 만들 때 중요 어떤 물체의 초기 물체 공간 정의에 대한 그 물체의 방위로 보거나, 한 물체의 정의에 적용할 회전 표현법으로 생각할 수 있음 일련의 연속된 회전을 한 개의 단순한 표현으로 나타내어 한 개의 합성변환을 물체 정의에 적용 학기 컴퓨터 애니메이션

51 기본 사원수 수학 (Basic Quaterion Math)  생략
사원수의 합 사원수 표현 [s1, v1] + [s2, v2] = [s1 + s2, v1 + v2]의 4요소 합 사원수의 곱 [s1, v1]  [s2, v2] = [s1s2 – v1  v2, s1  v2 + s2  v1 + v1 X v2] 작은 점 : 곱셈 큰 점 : 내적 X : 외적 예: 공간의 한 점 v는 [0, v] 로 표현됨 두 직교 벡터 (v1  v2 = 0) 의 사원수 곱은 그 두 벡터의 외적이 된다. [0, v1]  [0, v2] = [0, v1 X v2] iff v1  v2 = 0 학기 컴퓨터 애니메이션

52 (생략) 사원수 곱셈의 항등식(multiplicative identity): [1, (0, 0, 0)]
[s, v ] [1, (0, 0, 0)] = [s, v ] 사원수의 역함수(inverse): [s, v]-1 q-1 = (1 / || q ||) 2  [s, -v] where || q || = 어떤 사원수 q 와 그 곱셈의 역원 q-1 를 곱하면 단위 길이 사원수 (unit length quaternion) [1, (0, 0, 0) ] 가 나온다. 단위길이 사원수 q / ( || q || ) 학기 컴퓨터 애니메이션

53 사원수를 이용한 벡터 회전 생략 벡터 [0, v]의 회전 v’ = Rot(v) = q  v  q -1
사원수의 곱셈으로 일련의 회전을 한 개로 표현 사원수 p로 표현된 회전 다음에 사원수 q 로 표현된 회전을 벡터 v 에 적용할 때 Rotq (Rotp (v)) = q  (p  v  p-1)  q-1 = ((qp)  v  (qp)-1) = Rot (v) 학기 컴퓨터 애니메이션


Download ppt "2장 기술적 배경 지식 (Technical Background)"

Similar presentations


Ads by Google