[잡담][PAC]새벽에 갑자기 생각난것
- 85 조회
보통 가만히 있다가, n초 뒤에 a만큼 움직이고, 멈추게 하려면 hide 프록시를 사용합니다.
하지만 hide 프록시는 같은 프롭을 여러개 사용해야하는 불편함이 있습니다.
그래서 오늘은 clamp를 사용해볼것입니다.
프록시의 수식 특성상 if, 조건문을 사용할 수 없습니다.
그러나 함수 자체가 조건문이라면 이용해볼수 있죠.
수식을 한번 적어보겠습니다. (편의상 초당 1씩 움직이는거로 하겠습니다.)
n -> 작동하기까지 대기시간
a -> 시작 위치
b -> 끝나는 위치
clamp(a - n + timeex(), a, b)
clamp(x, min, max) 함수는,
x의 값을 min과 max 사이에서만 존재하게 합니다.
x가 min보다 작으면 min, x가 max보다 커지면 max를 반환해주죠.
함수 자체가 조건문을 사용하고 있습니다.
단순히 수의 흐름을 적어보자면 (a = 1, n = 2, b =3이라 가정, t 는 시간)
t = 0 일때, clamp(a - n + timeex(), a, b) = 1 (a - n + t 는 1보다 작기 때문에 1을 반환.)
t = 1 일때, clamp(a - n + timeex(), a, b) = 1
t = 2 일때, clamp(a - n + timeex(), a, b) = 1 (여기부터 움직이기 시작)
t = 3 일때, clamp(a - n + timeex(), a, b) = 2
t = 4 일때, clamp(a - n + timeex(), a, b) = 3
t = 5 일때, clamp(a - n + timeex(), a, b) = 3 (max 값이 b이기때문에 3보다 올라가지 않음.)
그래프로 알려드리면 편하나 그래프 그리는 프로그램 받기 귀찮네요.
어쨋든 이런식으로 하이드 프록시를 최소화하며 n 시간 뒤에 a부터 시작해 b 까지 가는 함수를 만들어보았습니다.
어찌보면 가장 기본적인 함수인데 살면서 한번도 pac에 사용해본적이 없네요.
그럼 다른거 생각나거나 요청이 있을시 가이드를 적어보도록 하겠습니다.
등록된 댓글이 없습니다.