Ejemplo n.º 1
0
 /// <summary>
 /// ��]�g��s���ݒ肷��B
 /// rad = 0�`512�����Ƃ���p�x�B
 /// rate = �g��䗦
 /// ��]�����́Ax����E�Ay����������ɂƂ�Ȃ玞�v�܂��B
 /// 
 /// �^�̓����R���X�g���N�^����ĂȂ��̂Ń}�[�J�[�‚��̃R���X�g���N�^��
 /// �p���đΏ�����B��MatrixRotate�͒P�Ȃ�enum
 /// </summary>
 /// <param name="r"></param>
 /// <param name="rad"></param>
 /// <param name="rate"></param>
 public Matrix2D(MatrixRotate dummyMarker, float rad, float rate)
 {
     A = D = (float)(global::System.Math.Cos
         (global::System.Math.PI * rad / 256) * rate);
     C = (float)(global::System.Math.Sin
         (global::System.Math.PI * rad / 256) * rate);
     B = -C;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// ��]�s���ݒ肷��B
 /// rad = 0�`512�����Ƃ���p�x�B
 /// ��]�����́Ax����E�Ay����������ɂƂ�Ȃ玞�v�܂��B
 /// 
 /// �^�̓����R���X�g���N�^����ĂȂ��̂Ń}�[�J�[�‚��̃R���X�g���N�^��
 /// �p���đΏ�����B��MatrixRotate�͒P�Ȃ�enum
 /// </summary>
 /// <returns></returns>
 public Matrix2D(MatrixRotate r, float rad)
 {
     A = D = (float)global::System.Math.Cos
         (global::System.Math.PI * rad / 256);
     C = (float)global::System.Math.Sin
         (global::System.Math.PI * rad / 256);
     B = -C;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 回転拡大行列を設定する。
 /// rad = 0〜512を一周とする角度。
 /// rate = 拡大比率
 /// 回転方向は、x軸を右、y軸を下方向にとるなら時計まわり。
 ///
 /// 型の同じコンストラクタを持てないのでマーカーつきのコンストラクタを
 /// 用いて対処する。→MatrixRotateは単なるenum
 /// </summary>
 /// <param name="r"></param>
 /// <param name="rad"></param>
 /// <param name="rate"></param>
 public Matrix2D(MatrixRotate dummyMarker, float rad, float rate)
 {
     A = D = (float)(global::System.Math.Cos
                         (global::System.Math.PI * rad / 256) * rate);
     C = (float)(global::System.Math.Sin
                     (global::System.Math.PI * rad / 256) * rate);
     B = -C;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 回転行列を設定する。
 /// rad = 0〜512を一周とする角度。
 /// 回転方向は、x軸を右、y軸を下方向にとるなら時計まわり。
 ///
 /// 型の同じコンストラクタを持てないのでマーカーつきのコンストラクタを
 /// 用いて対処する。→MatrixRotateは単なるenum
 /// </summary>
 /// <returns></returns>
 public Matrix2D(MatrixRotate r, float rad)
 {
     A = D = (float)global::System.Math.Cos
                 (global::System.Math.PI * rad / 256);
     C = (float)global::System.Math.Sin
             (global::System.Math.PI * rad / 256);
     B = -C;
 }
Ejemplo n.º 5
0
        private async Task <Matrix> Rotate(int rows, int cols, int rotations)
        {
            Matrix matrix = new Matrix(rows, cols);

            MatrixRotate matrixRotate = new MatrixRotate(matrix);

            await matrixRotate.Rotate(rotations);

            return(matrixRotate.Matrix);
        }
Ejemplo n.º 6
0
        static async Task matrixRotation(int rows, int columns, bool random, int rotations, bool print)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            Matrix matrix = new Matrix(rows, columns, random);

            MatrixRotate matrixRotation = new MatrixRotate(matrix, print);
            await matrixRotation.Rotate(rotations);

            watch.Stop();

            Console.Write($"\r\n Time execution: {watch.ElapsedMilliseconds} ms \r\n");
        }