Esempio n. 1
0
        // Quadratic Bezier Interpolation with Smooth Ease
        public static FInt QuadBezierEaseBothDir(FInt p0, FInt p1, FInt p2, FInt weight)
        {
            weight = FInt.Sin(weight * FInt.PI * 2) / 2 + FInt.Create(0.5);
            FInt k = 1 - weight;

            return((k * k * p0) + (2 * (1 - weight) * weight * p1) + (weight * weight * p2));
        }
Esempio n. 2
0
 public static FInt GetYOffsetFromRotation(FInt radian, int xOffset, int yOffset)
 {
     return(-yOffset *FInt.Cos(radian) + xOffset * FInt.Sin(radian));
 }
Esempio n. 3
0
 public static FInt GetYFromRotation(FInt radian, FInt distance)
 {
     return(distance * FInt.Sin(radian));
 }
Esempio n. 4
0
        //// Calculate a smooth interpolation percent between the `min` and `max`
        //static getSmoothStepPercent( value: number, min: number, max: number ): number {
        //	value = (value - min) / (max - min);
        //	return value * value * (3 - 2 * value);
        //}

        //static getSmootherStepPercent( value: number, min: number, max: number ): number {
        //	value = Math.max(0, Math.min(1, (value - min) / (max - min)));
        //	return value * value * value * (value * (value * 6 - 15) + 10);
        //}

        // Ease a value back and forth between two values.
        public static FInt EaseBothDir(FInt val1, FInt val2, FInt weight)
        {
            return(val1 + FInt.Abs(FInt.Sin((weight + FInt.Create(0.75)) * FInt.PI * 2) / 2 + FInt.Create(0.5)) * (val2 - val1));
        }