Exemple #1
0
        /// <summary>
        /// Subtracts two transforms.
        /// </summary>
        /// <param name="left">The first transform to subtract from.</param>
        /// <param name="right">The second transform to subtract.</param>
        /// <returns>The difference of the two transforms.</returns>
        public static Transform Subtract(Transform left, Transform right)
        {
            Transform result;

            Vector3.Subtract(ref left.Translation, ref right.Translation, out result.Translation);
            Quaternion invRotation = right.Orientation.Conjugated();

            Quaternion.Multiply(ref left.Orientation, ref invRotation, out result.Orientation);
            Float3.Divide(ref left.Scale, ref right.Scale, out result.Scale);
            return(result);
        }