상세설명
lerp(A, B, %)
→ A, B 사이의 % 값을 돌려줌. (수학적으로는, A + (B-A)×% 죠.)
→ % 라고 적어놨지만 % 가 아니라 %/100, 즉 0 에서 1 사이의 비율 값입니다. 이해를 돕기 위해 그만...
* %의 범위는 0 에서 1 사이가 아니어도 됩니다. 위의 수식 보이시죠?
→ Linear Interpolation (선형 보간)
→ 보통 부드러운 이동을 위해 lerp(목표 위치, 현재 위치, 0.1^timedelta) 형태로 쓰입니다.
하지만 왜 저런 꼴인지는 도무지 모르겠네요.
* timedelta = dt (컨스트럭트 2) = 프레임 (tick) 사이의 시간간격)
qarp(A, B, C, %)
→ lerp( lerp(A, B, %) , lerp(B, C, %), %)
→ 수학적으로는 잘 모르겠습니다.
→ A, C 사이의 직선이 B로 인해 곡선으로 변경된 꼴입니다.
→ Quadratic interpolation (이차 보간. 수학 용어랑 동일할 지는 모르겠습니다.)
cubic(A, B, C, D, %)
→ lerp( qarp(A, B, C, %), qarp(B, C, D, %), %)
→ 수학적으로는 역시 잘 모르겠습니다.
→ B, C 로 인해 지렁이 형태의 곡선으로 변경된 꼴입니다.
→ Cubic interpolation (뭐라고 해야하는지...)
원문에도 언급된 거지만, lerp의 활용법은 다양합니다. 무엇이든 부드럽게 변경할 게 있다면 쓰면 되는거죠.
코멘트
원래 포럼쪽에 이런 예제 (with 슬라이더) 가 있었습니다. 하지만 box.net 이라 그런지 자료가 날라갔더라구요.
그래서 제가 한번 만들어보았습니다. (원문링크) 사실 저도 필요해서말이죠. 슬라이더는 귀찮아서 생략.
역시나 자세한 내용은 위키의 System Expressions 항목이나, 컨스트럭트 2 의 경우 공식 메뉴얼을 참조합시다. 아직 모든 함수가 컨스트럭트 2 에서 지원되는지는 잘 모르겠습니다.
ps. 언제나와 같이 카페쪽과 동시 업로드입니다. 거긴 아무도 없...