示例#1
0
        /// <summary>
        /// Calcule et retourne la multiplication d'une matrice et d'un vecteur de dimension 4
        /// </summary>
        public static Vec4 operator *(Matrix4x4 m, Vec4 v)
        {
            Vec4 u = new Vec4();

            u.X = m.get(0) * v.X + m.get(1) * v.Y + m.get(2) * v.Z + m.get(3) * v.W;
            u.Y = m.get(4) * v.X + m.get(5) * v.Y + m.get(6) * v.Z + m.get(7) * v.W;
            u.Z = m.get(8) * v.X + m.get(9) * v.Y + m.get(10) * v.Z + m.get(11) * v.W;
            u.W = m.get(12) * v.X + m.get(13) * v.Y + m.get(14) * v.Z + m.get(15) * v.W;
            return(u);
        }
示例#2
0
 /// <summary>
 /// Calcule et retourne le produit scalaire de deux vecteurs
 /// </summary>
 public static float Dot(Vec4 u, Vec4 v)
 {
     return(( float )((u.X * v.X) + (u.Y * v.Y) + (u.Z * v.Z) + (u.W * v.W)));
 }
示例#3
0
 /// <summary>
 /// Calcule et retourne un point P situé sur le vecteur uv d'origine U.
 /// P = u + uv*t
 /// </summary>
 public static Vec4 Interpolate(Vec4 u, Vec4 v, float t)
 {
     return(u + (v - u) * t);
 }