Mathfx
From Unify Community Wiki
(Difference between revisions)
(→Usage) |
|||
Line 9: | Line 9: | ||
== Usage == | == Usage == | ||
* '''Hermite''' - This method will interpolate while easing in and out at the limits. | * '''Hermite''' - This method will interpolate while easing in and out at the limits. | ||
− | * '''Sinerp''' - | + | * '''Sinerp''' - Short for 'sinusoidal interpolation', this method will interpolate while easing around the end, when value is near one. |
* '''Lerp''' - Short for 'linearly interpolate', this method is equivalent to Unity's Mathf.Lerp, included for comparison. | * '''Lerp''' - Short for 'linearly interpolate', this method is equivalent to Unity's Mathf.Lerp, included for comparison. | ||
Revision as of 17:39, 5 May 2006
Description
The following snippet provides short functions for floating point numbers. See the usage section for individualized information.
Usage
- Hermite - This method will interpolate while easing in and out at the limits.
- Sinerp - Short for 'sinusoidal interpolation', this method will interpolate while easing around the end, when value is near one.
- Lerp - Short for 'linearly interpolate', this method is equivalent to Unity's Mathf.Lerp, included for comparison.
C# - Mathfx.cs
<csharp>using UnityEngine; using System;
public class Mathfx {
public static float Hermite(float start, float end, float value) { float tt = Mathf.Min(Mathf.Max((value - start) / (end - start), 0.0f), 1.0f); return tt * tt * (3.0f - 2.0f * tt); } public static float Sinerp(float start, float end, float value) { return Mathf.Lerp(start, end, Mathf.Sin(value * Mathf.PI * 0.5f)); }
public static float Lerp(float start, float end, float value) { return ((1.0f - value) * start) + (value * end); }
} </csharp>