private void setVertex() { float xmin = float.MaxValue; float ymin = float.MaxValue; float xmax = float.MinValue; float ymax = float.MinValue; for (int i = 0; i < 4; i++) { xmax = Math.Max(xmax, vertex[i].X); ymax = Math.Max(ymax, vertex[i].Y); xmin = Math.Min(xmin, vertex[i].X); ymin = Math.Min(ymin, vertex[i].Y); } rect = new Rectangle((int)xmin, (int)ymin, (int)(xmax - xmin), (int)(ymax - ymin)); AB = new YLScsDrawing.Geometry.Vector(vertex[0], vertex[1]); BC = new YLScsDrawing.Geometry.Vector(vertex[1], vertex[2]); CD = new YLScsDrawing.Geometry.Vector(vertex[2], vertex[3]); DA = new YLScsDrawing.Geometry.Vector(vertex[3], vertex[0]); // get unit vector AB /= AB.Magnitude; BC /= BC.Magnitude; CD /= CD.Magnitude; DA /= DA.Magnitude; }