본문 바로가기
Computer/Graphics

Slide

by DogBull 2008. 10. 22.


붉은색 박스가 A 위치에서 출발하여 B위치 까지 이동하는 경우를 생각해 보자.

1.
사실감 있는 이동을 위해서는,
A에서는 점점 가속 되다가, B에서는 점점 감속되어야 한다.

2.
Impact가 있는 이동의 경우
A에서 최고 속도가 될 것이고, B지점에 가까워 질 수록 감속이 되어야 한다.


감속률이 1/2 즉 0.5라고 하고 계산을 하면,



첫 번째 프레임에서 박스를 A와 B의 중간 지점인 C까지 이동 시킨다.


두 번째 프레임에서는 박스를 C와 B의 중간 지점인 D까지 이동 시킨다.


네 번째 프레임에서는 박스를 D와 B의 중간 지점인 E까지 이동 시킨다.

이같은 작업을 반복식으로 나타내 보면,

while( abs(Box.position.x-Destination.x) >0.01){
    Box.position.x+= ( Destination.x - Box.Position.x ) / 2;
}

로 표현할 수 있다.

0.01은 Epsilon값이므로 적당한 수치로 변경 하면되고,
2로 나눈 것은 감속비율 이므로 만약 10으로 나누면 더 천천히 감속될 것이다.

'Computer > Graphics' 카테고리의 다른 글

수묵화 렌더링(?)  (0) 2008.11.02
Edge detection on GPU  (0) 2008.10.28
Cartoon rendering  (0) 2008.10.21
M: Normal Vector  (0) 2008.10.11
01 Start DXUT.  (0) 2008.10.08