Пример #1
0
    public static FixQuaternion LerpUnclamped(FixQuaternion a, FixQuaternion b, Fix64 t)
    {
        FixQuaternion result = FixQuaternion.Multiply(a, (1 - t)) + FixQuaternion.Multiply(b, t);

        result.Normalize();

        return(result);
    }
Пример #2
0
    public static FixQuaternion FromToRotation(FixVector3 fromVector, FixVector3 toVector)
    {
        FixVector3    w = FixVector3.Cross(fromVector, toVector);
        FixQuaternion q = new FixQuaternion(w.x, w.y, w.z, FixVector3.Dot(fromVector, toVector));

        q.w += Fix64.Sqrt(fromVector.SqrMagnitude * toVector.SqrMagnitude);
        q.Normalize();

        return(q);
    }