Ejemplo n.º 1
0
        public void Adjoint()
        {
            var result = new Matrix33(
                M22 * M33 - M23 * M32, M23 * M31 - M21 * M33, M21 * M32 - M22 * M31,
                M13 * M32 - M12 * M33, M11 * M33 - M13 * M31, M12 * M31 - M11 * M32,
                M12 * M23 - M13 * M22, M13 * M21 - M11 * M23, M11 * M22 - M12 * M21);

            AssignFrom(result);
        }
Ejemplo n.º 2
0
 public void AssignFrom(Matrix33 matrix)
 {
     M11 = matrix.M11;
     M12 = matrix.M12;
     M13 = matrix.M13;
     M21 = matrix.M21;
     M22 = matrix.M22;
     M23 = matrix.M23;
     M31 = matrix.M31;
     M32 = matrix.M32;
     M33 = matrix.M33;
 }
Ejemplo n.º 3
0
        public static Matrix33 SquareToQuadrilateral(Point p0, Point p1, Point p2, Point p3)
        {
            var dx3 = p0.X - p1.X + p2.X - p3.X;
            var dy3 = p0.Y - p1.Y + p2.Y - p3.Y;

            if (dx3 is 0.0 && dy3 is 0.0)
            {
                // 这就是普通的仿射变换 Matrix。
                var result = new Matrix33(
                    p1.X - p0.X, p2.X - p1.X, p0.X,
                    p1.Y - p0.Y, p2.Y - p1.Y, p0.Y,
                    0.0f, 0.0f, 1.0f);
                return(result);
            }