예제 #1
0
        public static double LerpAngle(double a, double b, double t)
        {
            double num = Mathd.Repeat(b - a, 360d);

            if (num > 180.0d)
            {
                num -= 360d;
            }
            return(a + num * Mathd.Clamp01(t));
        }
예제 #2
0
 public static double SmoothStep(double from, double to, double t)
 {
     t = Mathd.Clamp01(t);
     t = (-2.0 * t * t * t + 3.0 * t * t);
     return(to * t + from * (1.0 - t));
 }
예제 #3
0
 public static double Lerp(double from, double to, double t)
 {
     return(from + (to - from) * Mathd.Clamp01(t));
 }
예제 #4
0
        //public static explicit operator Vector3(Vector3Double vector3d)
        //{
        //    return new Vector3((float)vector3d.x, (float)vector3d.y, (float)vector3d.z);
        //}

        public static Vector3Double Lerp(Vector3Double from, Vector3Double to, double t)
        {
            t = Mathd.Clamp01(t);
            return(new Vector3Double(from.x + (to.x - from.x) * t, from.y + (to.y - from.y) * t, from.z + (to.z - from.z) * t));
        }