From 2d5642a99c5311c87b8fcb0bff1b4c07b63487ac Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Mon, 3 Jan 2022 00:14:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E5=AD=A6=E6=89=A9=E5=B1=95=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E6=96=B0=E5=A2=9ElistLerp=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/mathExtend.lua | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Zframework/mathExtend.lua b/Zframework/mathExtend.lua index 9eb5786b..85249212 100644 --- a/Zframework/mathExtend.lua +++ b/Zframework/mathExtend.lua @@ -1,5 +1,6 @@ local MATH={}for k,v in next,math do MATH[k]=v end +local int,ceil=math.floor,math.ceil local rnd=math.random MATH.tau=2*math.pi @@ -20,10 +21,6 @@ function MATH.coin(a,b) end end -function MATH.lerp(s,e,t) - return s+(e-s)*t -end - function MATH.interval(v,low,high) if v<=low then return low @@ -34,6 +31,18 @@ function MATH.interval(v,low,high) end end +function MATH.lerp(s,e,t) + return s+(e-s)*t +end + +do--function MATH.listLerp(list,t) + local interval,lerp=MATH.interval,MATH.lerp + function MATH.listLerp(list,t) + local t2=(#list-1)*interval(t,0,1)+1 + return lerp(list[int(t2)],list[ceil(t2)],t2%1) + end +end + function MATH.expApproach(a,b,k) return b+(a-b)*2.718281828459045^-k end