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); }
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); }
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); }
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)); }