예제 #1
0
파일: mathf.go 프로젝트: go3d/go-ngine
func Mathf_LerpAngle(a, b, t float64) (r float64) {
	if r = Mathf_Repeat(b-a, 360); r > 180 {
		r -= 360
	}
	r = unum.Clamp01(t)*r + a
	return
}
예제 #2
0
파일: mathf.go 프로젝트: go3d/go-ngine
func Mathf_Lerp(from, to, t float64) float64 {
	return unum.Clamp01(t)*(to-from) + from
}
예제 #3
0
파일: mathf.go 프로젝트: go3d/go-ngine
func Mathf_SmoothStep(from, to, t float64) float64 {
	t = unum.Clamp01(t)
	t = -2*t*t*t + 3*t*t
	return to*t + from*(1-t)
}