Esempio n. 1
0
        /// <summary>
        /// Creates an instance of this class
        /// </summary>
        /// <param name="affineTransformVector"></param>
        public AffineCoordinateTransformation2D(params double[] affineTransformVector)
        {
            _a = affineTransformVector[0];
            _b = affineTransformVector[1];
            _c = affineTransformVector[2];

            _d = affineTransformVector[3];
            _e = affineTransformVector[4];
            _f = affineTransformVector[5];

            //var mat = new System.Drawing.Drawing2D.Matrix((float)_a, (float)_b, 
            //    (float)_d, (float)_e, (float)_c, (float)_f);
            //var matInv = mat.Clone();
            //matInv.Invert();

            ////
            //var m = ToMatrix();
            var minv = ToMatrix();
            var rep = new alglib.matinv.matinvreport();
            var info = 0;
            alglib.matinv.rmatrixinverse(ref minv, 3, ref info, rep);
            _ainv = minv[0, 0];
            _binv = minv[0, 1];
            _cinv = minv[2, 0];
            _dinv = minv[1, 0];
            _einv = minv[1, 1];
            _finv = minv[2, 1];

            
        }
Esempio n. 2
0
            /// <summary>
            /// Creates an instance of this class
            /// </summary>
            /// <param name="affineTransformVector"></param>
            public AffineCoordinateTransformation2D(params double[] affineTransformVector)
            {
                _a = affineTransformVector[0];
                _b = affineTransformVector[1];
                _c = affineTransformVector[2];

                _d = affineTransformVector[3];
                _e = affineTransformVector[4];
                _f = affineTransformVector[5];

                //var mat = new System.Drawing.Drawing2D.Matrix((float)_a, (float)_b,
                //    (float)_d, (float)_e, (float)_c, (float)_f);
                //var matInv = mat.Clone();
                //matInv.Invert();

                ////
                //var m = ToMatrix();
                var minv = ToMatrix();
                var rep = new alglib.matinv.matinvreport();
                var info = 0;
                alglib.matinv.rmatrixinverse(ref minv, 3, ref info, rep);
                _ainv = minv[0, 0];
                _binv = minv[0, 1];
                _cinv = minv[2, 0];
                _dinv = minv[1, 0];
                _einv = minv[1, 1];
                _finv = minv[2, 1];
            }