나는 다음과 같은 기능을 사용하여 선형 함수에 매핑을 진행하기위한 유틸리티를 만들었습니다 : 이것은 당신이 최소 0과 100의 최대이있는 경우, 선형 값의 집합을 반환값 사이의 진행을 S- 곡선에 매핑하는 방법은 무엇입니까?
public static func map<T: FloatingPoint>(progress: T, min: T, max: T) -> T {
assert(progress >= 0)
assert(progress <= 1)
return min + ((max - min) * progress)
}
을의 다음 값은 각각의 진행에 대해 반환됩니다
이0.1 -> 10
0.2 -> 20
0.5 -> 50
0.8 -> 80
0.9 -> 90
내가 가까이가 진행의 시작 지점과 끝 지점에있는 S 자 곡선에 반환 값을 매핑 유사한 기능을 만들고 싶습니다 결과는 결과의 영향을 덜받습니다. 이것은 예를 들어 CADisplayLink를 사용하여 애니메이션을 부드럽게 만드는 데 매우 유용합니다. 내가 지금 어떤 포인터는 크게 감상 할 수 이것에 대한 아주 기본적인 수학 공식이있을거야
0.1 -> 01
0.2 -> 10
0.5 -> 50
0.8 -> 90
0.9 -> 99
: 위의 예제에 대한 예상 결과는 같을 것입니다!
감사합니다. 나는 이것을 가지고 놀아보고 그 결과를 알려줄 것이다. FloatingPoint는 Float 및 Double 값의 제네릭입니다. –
감사합니다. @halileohalilei, 답변을 수정하고 내가 찾고있는 것을 얻었습니다. –