コード例 #1
0
        /// <summary>
        /// Transforms a vector by the given matrix.
        /// </summary>
        /// <param name="position">The vector to transform.</param>
        /// <param name="matrix">The transform matrix.</param>
        /// <returns>The transformed vector.</returns>
        #region public static JVector Transform(JVector position, JMatrix matrix)
        public static FPVector Transform(FPVector position, FPMatrix matrix)
        {
            FPVector result;

            FPVector.Transform(ref position, ref matrix, out result);
            return(result);
        }
コード例 #2
0
        public void RotateAround(FPVector point, FPVector axis, Fix64 angle)
        {
            FPVector vector  = this.position;
            FPVector vector2 = vector - point;

            vector2       = FPVector.Transform(vector2, FPMatrix.AngleAxis(angle * Fix64.Deg2Rad, axis));
            vector        = point + vector2;
            this.position = vector;

            Rotate(axis, angle);
        }
コード例 #3
0
 public void Translate(FPVector translation, FPTransform relativeTo)
 {
     this.position += FPVector.Transform(translation, FPMatrix.CreateFromQuaternion(relativeTo.rotation));
 }