System.Windows.Forms.MathHelper.CatmullRom C# (CSharp) Method

CatmullRom() public static method

public static CatmullRom ( float value1, float value2, float value3, float value4, float amount ) : float
value1 float
value2 float
value3 float
value4 float
amount float
return float
        public static float CatmullRom(float value1, float value2, float value3, float value4, float amount)
        {
            // originaly from https://github.com/mono/MonoGame/
            // Using formula from http://www.mvps.org/directx/articles/catmull/
            // Internally using doubles not to lose precission
            double amountSquared = amount * amount;
            double amountCubed = amountSquared * amount;
            return (float)(0.5 * (2.0 * value2 +
                (value3 - value1) * amount +
                (2.0 * value1 - 5.0 * value2 + 4.0 * value3 - value4) * amountSquared +
                (3.0 * value2 - value1 - 3.0 * value3 + value4) * amountCubed));
        }