; ------------------------------------------------------------------------------------------------------------------- ; This function allows you to do the reverse of a linear interpolation between two values. ; ; Instead of specifying the tween value, you specify the value which you want the know the tween of. ; ; Essentially, this function will tell you where a value is between two other values. If the value is between ; the two values, then the result will be in the range of 0..1. ; ------------------------------------------------------------------------------------------------------------------- Function InverseTween#(X1#, X2#, X#) ; If the difference between x1 and x2 is 0, then there is no tween value which will give you the value of ; x, unless x is equal to x1 or x2, in which case all tween values will give you the correct result. ; So we just return 0 for the tweening value if the difference is 0. If (X2# - X1#) <> 0 Return (X# - X1#) / (X2# - X1#) Else Return 0 EndIf End Function
X1 is the start X of your curve. X2 is the end X of your curve. X is the X location you want to know the Y value of. Amplitude is the maximum height of the Y curve. Tween# = InverseTween#(X1#, X2#, X#) Y# = Amplitude# * Sin(180.0*Tween#)