コード例 #1
0
        public static Matrix44I operator *(Matrix44I left, Matrix44I right)
        {
            Matrix44I o_ = new Matrix44I();

            Mul(ref o_, ref left, ref right);
            return(o_);
        }
コード例 #2
0
        /// <summary>
        /// 乗算を行う。
        /// </summary>
        /// <param name="o">出力先</param>
        /// <param name="in1">行列1</param>
        /// <param name="in2">行列2</param>
        public static void Mul(ref Matrix44I o, ref Matrix44I in1, ref Matrix44I in2)
        {
            Matrix44I _in1 = in1;
            Matrix44I _in2 = in2;

            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    int v = 0;
                    for (int k = 0; k < 4; k++)
                    {
                        v += _in1.Values[i, k] * _in2.Values[k, j];
                    }
                    o.Values[i, j] = v;
                }
            }
        }