Transcript Document

컴퓨터애니메이션 3장
09053036 이규민
09053021 김태일
• 3.1
• 3.2
09053036 이규민
• 3.3
• 3.4
09053021 김태일
3.1 보간
• 대부분 애니메이션의 기초는 갑의 보간이다. 가장
간단한 애니메이션 예제는 공간에서 한 점의 위치
를 보간하는 것이다.이를 정확하게 보간하는 것은
쉬운 일이 아니며,시간에 따라 보간된 위치를 원
하는 대로 제어할 수 있는 상태를 유지하는 것이
다.
3.1.1 적합한 함수
1.보간
2. 근사
3.1.1 적합한 함수
• 보간
• 근사
• 변수 xi에 대한 함수값 yi를 주어 y
=f(x)의 식을 만드는 공식. 최소 자
승법식, 뉴턴의 식, 라그랑지의 식,
에르미트(Hermite)의 식 등이 널리
사용된다.
• 곡선이 지나가는 실제 위치를 의미
하는 것이 아니라 단순히 곡선의 모
양을 제어하기 위한 것인지 알아야
한다.
• (애니메이터들이 제어점의 위치를
다시 설정했을때 곡선의 모양이 어
떻게 변하는지 파악하기 위해 사용)
• 곡선을 표현하는 점들의 집합이 주
어졌을 때, 가장 먼저 결정해야 하
는 것 중에 하나가 주어진 값들이
실제로 곡선이 지나가야 하는 위치
를 의미하는것인지 알아야 한다.
• (보통 많이 사용하는 보간함수는
Hermite 공식과 Catmull-Rom스
플라인이다)
Catmull-Rom은 통과점으로만부터매끄러운 곡선을 정의하
는 방법중 하나다. Catmull-Rom은 모든 point를 지나게 되
어 있다.
• 복잡도
• 연속성
• 근사 수식이 계산 복잡도와 바 • 0차 연속성은 곡선 자체 값이 연속적
이라는 것이다.매개변수 값에서의 작
로 연관되기 때문에 보간함수
은 변화가 항상 함수 값에 작은 변화를
의 기본 수식이 간단할수록,계
준다면,곡선은 0차이고 위치 연속적
산이 빨라진다.다항식은 계산
이다.
하기 쉽고,구분되어 있으며,3
차 다항식은 시작 및 끝점과 접
선과 같은 제한점을 만족하기
에 충분한 유연성을 가지며,충
분한 매끄러움을 제공하는 급
수가 가장 낮은 다항식이다.
연속성
전역vs지역제어
전역제어
지역제어
• 하나의 제어점 위치를 변경했을
때 전체 곡선이 약간이라도 변
화된다면, 그 공식은 전역제어
를 제공한다고 한다.
• (Lagrange보간)은 전역제어를
갖는 보간 다항식의 예이다.)
• 곡선의 제어점이 제한적인 부분
에만 영향을 미치는 공식은 지
역제어를 제공한다고 한다.
• https://www.youtube.com/wa
tch?v=KhfDKOVBFZQ
지역제어
전역제어
요약
• 값을 보간하기 위해 사용하는 공식은 많다.특정 공식을 선
택하는 것은 지역제어가 필요하거나 그렇지 않은 연속성
과 사용자가 요구하는 계산 복잡도의 수준과 정보에 의존
적이다.Catmull-Rom스플라인은 애니메이션 경로 움직임
에 자주 사용되는데 ,그 이유는 Catmull-Rom스플라인이
보간 스플라인이고 경로가 지나는 점들 외에 사용자로부
터의 정보가 필요 없기 때문이다.주어진 점을 반드시 지나
가야 하는 Bezier 곡선도 자주 사용된다.
3.2 곡선을 따라 움직임 제어하기
* 호의 길이에 의한 매개 변수화를 행하는데에는 세가지 접
근 방식이 있다. 한 접근은 분석적으로 호 길이를 계산한다.
그래서 애니메이션에서 많은 유용한 곡선 공식들은 분석적
인 방식을 적용하지 않고 수치적인 방식을 적용해야한다.
* 이중 첫번째 방식은 곡선을 샘플링하여 테이블을 만들어
내고 ,호의 길이를 근사하기 위하여 선형 거리를 더한 것을
사용한다. 두번 째 방식은 수치상으로 호의 길이를 예측하
기 위하여 가우시안 구적법을 사용한다. 두 방식 모두 오류
를 제어하기 위하여 적응 세분화 접근 방식을 사용한다.
(3.2.1 호 길이 계산하기)
* 곡선의 범위를 따라 움직이는 거리를 계
산 할 수 있는 시스템에서 사용될수 있다.
* 3차급수의 다항식을 이용해 표준적인
어떠한 방법을 지정한다.
매개변수 값을 선택함으로서 객체를 이
동시킬 수 있으며, 곡선에서 대응되는 위
치의 x-,y- 그리고 z-좌표를 계산 할 수 있
다.
(기억해야할 것은 애니메이션에서 경로
를 따라 움직이는 것만이 중요한 것은 아
니라 는 것이다.똑같이 중요한 것은 시간
에 따라 경로를 어떻게 따라 가는가 하는
것이다. 한 지점에서부터 서서히 속도를
높이다가 끝점까지 서서히 속도를 줄이
는 것 대신 거의 일정한 속도로 곡선을 따
라 움직이는 것은 애니메이션에서 매우
다른 결과를 가져온다.)
공간 곡선을 따라 시간을 제어
하는 첫 번째 단계는 매개 변수
값과 호 길이 사이의 관계를 정
립하는 것이다.이것은 주어진
매개 변수 값에 대하여 시작점
부터 매개 변수 값에 대응하는
점까지 곡선의 길이를 계산하는
함수 s=S(u)를 지정하면 된다.
이 단계를 끝나고 나면 어떤 방
법으로든 각 시간 단계에 대하
여 객체가 곡선을 따라 움직여
야만 하는 거리를 지정할 수 있
다.
호 길이 계산에의 분석적 접근
전치 차분에 의한 호 길이 예측
• 표를 보고 매개변수 값을 찾아낸다.매개 변수 값들은 균일
하게 분포되어 있기 떄문에,테이블에서 주어진 값과 가장
가까운 값의 위치는 바로 계산하여 결정할 수 있다.
• 매개 변수 값을 예측할 때 발생하는 오차를 줄이기 위하여
좀 더 개선된 보간 방법을 사용할 수 있다. 물론, 고차 보간
법은 계산 속도가 어느 정도 떨어지지만,속도와 정확성간
서로 타협을 하여 결정해야 한다.이러한 방법은 오차를 어
느정도 줄인다.매개 변수값을 계산하는 과정에서의 오차
에 대한 한계는 정해져 있지 않다. 이러한 방법은 오차가
많은 곡선의 범주에서,계산을 더하기보다는 단지 오차를
전역적으로 줄이는 방법이다.
적응력 있는 접근 방법
적응력 있는 접근방법
• 오차를 좀 더 잘 제어하기 위해서 적응적 전위 차 접근은
오차가 클 것이라고 예측되는 지역에서 계산을 더 하도록
하는 방법이 사용될 수 있다. 이 접근은 곡선 부분을 고려
하는 것으로,세그먼트 길이의 평가가 각 세그먼트 반에 대
한 계산 합이 임의 오차 범위 내에 있는지를 보기 위해 시
험한다.차가 허용오차 범위 보다 더 크면 이때, 세그먼트
는 반으로 나누어지고, 각 반은 시험하기위해 세그먼트 목
록에 넣는다.더욱이 세분된 각 단계에서 허용 오차는 축척
에서 변화를 반영하여 반으로 줄여진다. 차가 허용 오차 내
에 있으면 이떄 평가된 길이는 충분히 좋은 평가로 되고,세
그먼트로 사용된다.
3.2.2 속도 제어
호 길이에 의해 공간 곡선이 매개 변수
화 되고 나면,곡선 위를 운행하는 속도
를 제어하는 것이 가능해 진다. 일정한
호 길이 간격에 따라 곡선을 운행하는
것은 일정한 속도를 내는 것이다.곡선
을 지나가는 것을 제어할 수 있도록 일
정한 간격의 매개 변수 값과 호 길이를
연관시켜 주는 속도 제어 함수에 의해
좀더 흥미로운 운행을 생성 할 수 있다.
이와 같이 속도를 제어하는 가장 일반
적인 예는 이지인/이지아웃 운행이다.
속도를 제어하는 것은,객체를 정지 위
치로부터 서서히 가속하고,최고 속도
에 이른 다음 정지위치로 가면서 감속
하는 것과 같은 부드러운 움직임을 만
들어 낼 수 있다.
속도제어함수의 입력 매개 변수는 시
간을 나타내는 t이며 ,출력은 거리를
나타내며 s로 표시되는 호 길이이다.
3.2.3. 이지인/이지아웃
이지인/이지아웃 정의
• 이지인/이지아웃은 곡선을 따라 움직임을 제어하는데 가
장 일반적으로 사용되는 매우 유용한 방법이다.이지인/이
지아웃을 활용하는 방법은 여러 가지 이다. 기준이 되는 가
정은 움직임은 완전히 정지한 상태에서 시작하고 끝이나
며 속도에 있어서 순간적인 점프가 없다는 것이다(1차 연
속성).이것은 속도를 제어하는데 사용된 기법에 따라,일정
속도의 중간 간격일 수도 있고 아닐 수도 있다.속도 제어
함수는 s= ease(t)라고 할 것이며,t는 시간을 나타내는 일
정하게 변화하는 입력 매개 변수이고,s는 시간 함수에서
움직인 거리를 나타내는 출력 매개 변수 이다.
가속과 감속을 위하여 사인 곡선의 일부사용
일정한 속도를 가지는 거리-시간 함수의
중간 부분을 제공하기 위하여,선형적인
중간 세그먼트를 가지는 함수의 각 끝 지
점에서 사인 곡선의 일부를 만들 수 있다.
그 부분의 접선이 1차 급수의 연속성을 가
지도록 주의해야 한다. 이에 대한 접근 방
법은 다양하지만 사용자는 가속과 감속을
위한 단위 간격의 조각들을 지정한다고
가정해야 한다.
사인 곡선 세그먼트들은 직선 세그먼트를
가지는 사인 곡선의 접속 부분에서 연속
성을 지키기 위해 일정한 스케일을 가져
야만 한다. 이것은 0부터 R1까지의 범위
를 가지는 첫 번째 사인 곡선 세그먼트이
다.
상수 가속:포물선 이지인/이지아웃
• 난해한 함수 계산. 또는 대응되는 테이블 검색과 보간을 피
하기 위하여, 이지 함수를 대신하는 방법으로 속도-시간
곡선을 가정할 수 있는 기본 형태를 결정하게 되는 가속에
대하여 기본 가정을 한다. 그리고 사용자는 매개 변수들을
사용하여 결과로서 거리-시간 함수를 얻기 위하여 적분될
수 있는 특정한 속도-시간 함수를 지정하도록 할 수 있다.
3.2.4 일반적인 거리 -시간함수
속도-시간 곡선 또는 가속-시간 곡선으로
작업할 떄는 전체 시간 동안 전체 거리를
지나가야 한다는 기본적인 이슈를 말한다.
전체 거리와 전체 시간이 주어지면,평균 속
도는 고정된다.이 평균 속도는 사용자가 수
정할 수 있도록 유지되어야만 한다. 하나의
해결책은 사용자가 곡선을 수정함에 따라
속도 축을 따라 속도-시간 곡선의 절대적인
위치를 움직이는 것이다. 올바른 평균 속도
를 유지하기 위하여 곡선은 절대 속도로 위
아래로 움직이며 조정될 것이다. 그러나 이
것은 만약 사용자가 시작 속도와 마지막 속
도 등과 같이,어떤 속도나 최고 속도를 지
정하고자 한다면 포함된 전체 거리를 유지
하기 위하여 다른 속도들을 바꿔야 한다는
것을 의미한다.
3.3방위의 보간
• 객체의 방위는 위치가 보간될 수있는 것처럼 동일
하게 적용된다
• 객체의 위치가 이동 변환을 적용하여 시간에 따라
변화되는 것처럼 객체의 방위는 회전 변환을 적용
하여 시간에 따라 변화된다.
4원수 보간
• 4원수는 쉽게 보간 할 수있고 고정된 각도와 오일
러 각도와 같은 짐벌 잠금의 영향을 받지않는다.
• 4원수는 표현하는데 방위에 영향을 주지 않기 때
문에 방위에 대한 정규적 표현을 위해 사용된다.
• 그림3.23
원의 두 점 사이의 직
선을 등간격 선형 보
간하면 원 위로 투상
된 뒤 간격이 않은
점들을 생성한다.
4원수 4개값 보간은
동일 문제를 보인다.
그림 3.24
방위(q2)의 두표현이 근접한
것은 보간에서 사용하기 위
해서는 보다 나은 선택이다.
이경우 –q2는 q2보다 q1에
가깝다.
공간의 중심으로부터 측정
되는 q1과q2사이 각은 q1과
q2내적으로 계산된다.
-q2에 대해서도 동일하다
3.4 경로로 작업하기
• 3.4.1경로 따라하기
• 경로를 따라가는 객체는 곡선이 호 길이로 매개
변수화 되고 움직임이 이지인/이지아웃 방법으로
제어된다 하더라도, 공간 곡선 이동에 따라 이동
하는것 이상을 필요로 한.
3.4.2 경로를 따라가는 방위
• 프레임 번호 , 호 길이 ,매개 변수화, 그리고 아마
도 이지인/이지아웃 제어에 기반하여 생성된다.
• 업 벡터는 v-축으로 간주하며 , 그리고 지역 u-축
은 이들 둘과 지각을 이룬다.
그림3.30 카메라 기반지역 좌
표 시스템
카메라가 경로에 따라 이동
하면서 카메라의 방위를 다
루는 방법이다.
어떤 방법을 사용할 것인지
애니메이션에서 원하는 효과
가 어떤것 인지에 달려있다
프레네 프레임의 사용
• 곡선의 탄젠트와 곡률에 따라 결정되는 움직임이
좌표 시스템에서와 같이 곡선을 따라 정의되어진
다.
• 곡선의 길이에 따라 방위가 변경된다.
• 프레네 프레임 움직이는 좌표 시스템을 의미하는
데 두가지 사용법에서 혼돈이 생길 수 있음에 주
의를해야된다.
• 프레임이라는 용어가어떤 상황에서 사용되었는
지에 따라 의미가 결정된다.
카메라 경로 따라가기
관심의 중점 (COI; center of interest)을 배경에서
고정된 위치에 배치하거나 , 더 좋은 방법을 배경에
서 객체 중 하나의 중점을 사용하는 것이다.
W= COI – POS
U= w*y –axis
v= u*w
카메라 경로 따라가기
• 경로를 따라 내려가는 카메라를 위해서는 관측 방
향을 여러가지 방법으로 자동적으로 정해질 수 있
다.
• COI는 배경의 특정 위치에 위치하거나 특성객체
의 위치에 위치할 수 있다
• COI가 곡선을 따라 특정 위치가 되도록 갱신한다
면 갑자기 움직이는 것 처럼 보일것이다.
• COI를 생성하기 위해서 위치 경로의 함수를 사용
하는 것에 대한 대안은 COI독립된 경로로 사용하
는것이다.
3.4.3 경로를 매끄럽게 하기
• 디지털화 과정을 거쳐 정점들이 경로를 구성하는
경우 , 잡음과 낮은 정밀도때문에 결과 곡선이 튀
어 보일수 있다
• 데이터의 좌표값을 여러 접근 방법으로 매끄럽게
할 수 있다.
인접 값들의 선형 보간으로 매끄럽게 하
기
• 2차원 정점들의 순서 집합은 인접 정점들을 평균
함으로써 매끄럽게 할 수있다
• 선형 보간에 의해 함몰된 부분의 방향에서 데이터
정점들이 어떻게 이동되는지 주목하라 데이터를
매끄럽게 하기 위해서 반복하여 선형 보간을 적용
한다면 함몰 부분이 점점 없어지면서 평평해진다.
인접 값들의 3차 급수 보간으로 매끄럽
게하기
• 데이터 정점의 양쪽에 있는 인접 정점을 이용하여
3차 급수 곡선에 맞추고 중간 정점에서 계산할 수
있다. 그리고 나서 이중간 정점은 선형인 경우와
같이 원래 정점과 함께평균 계산한다
이웃 갑의 합성 변환으로 매끄럽게 하기
• 데이터 정점들을 단계 함수로 봄으로써 합성 변환
을 데이터 정점에 적용할 수 있다.
• 0주위에 집중되어 있으며,대칭하며, 유한 지원을
받으며 합성변환 곡선 아래의 면적은 1이다.
B-스플라인 근사로 매끄럽게 하기
• 곡선에 대한 근사가 충분하다면, 정점들은 곡선에
서 선택 되며, 예를들어 B-스플라인 제어 정점들
은 선택된 정점들에 기반하여 생성될 수 있다.
• B-스플라인 제어 정점들을 사용하여 생성할 수 있
으며, 곡선이 원래의 정점들을 더 이상 지나가지
않더라도 생성된 곡선 은 확실히 매끄럽게 된다.
표면에서 경로 정하기