Exemple #1
0
        public static DMatrix GetScaleMatrix(int dimnum, int dim, double scale)
        {
            DMatrix res = DMatrix.Get1Matrix(dimnum);

            for (int i = 0; i < res.DimNumber; i++)
            {
                res[i, i] = i == dim?scale:1;
            }
            return(res);
        }
Exemple #2
0
        public static DMatrix GetDiagMatrix(DVector diagelems)
        {
            DMatrix res = DMatrix.Get1Matrix(diagelems.DimNumber);

            for (int i = 0; i < res.DimNumber; i++)
            {
                res[i, i] = diagelems[i];
            }
            return(res);
        }
Exemple #3
0
        public static DMatrix GetRotMatrix(int dimnum, int axis1, int axis2, double angle)//rotation from axis1 to axis2 by angle
        {
            DMatrix res = DMatrix.Get1Matrix(dimnum);

            res[axis1, axis1] = Math.Cos(angle);
            res[axis2, axis2] = Math.Cos(angle);
            res[axis1, axis2] = -Math.Sin(angle);
            res[axis2, axis1] = Math.Sin(angle);
            return(res);
        }
Exemple #4
0
 public TransformScale(int dimnum, double coef) : base(DMatrix.Get1Matrix(dimnum) * coef)
 {
 }
 public static TransformDouble GetIdentityTransform(int dimnum)
 {
     return(new TransformDouble(DMatrix.Get1Matrix(dimnum), new DVector(dimnum)));
 }
 public override TransformDouble ToTrDouble()
 {
     return(new TransformDouble(DMatrix.Get1Matrix(transvect.DimNumber), transvect));
 }