public static void CreateOuterProduct(ref Vector3 a, ref Vector3 b, out Matrix3x3 result) { result.M11 = a.X * b.X; result.M12 = a.X * b.Y; result.M13 = a.X * b.Z; result.M21 = a.Y * b.X; result.M22 = a.Y * b.Y; result.M23 = a.Y * b.Z; result.M31 = a.Z * b.X; result.M32 = a.Z * b.Y; result.M33 = a.Z * b.Z; }