Example #1
0
 public figure(figure bb)
 {
     a = bb.a;
     b = bb.b;
     c = bb.c;
     d = bb.d;
 }
Example #2
0
        public void rotation2(ref figure rec1, float XX, float YY)
        {
            double f = ((trackBar3.Value * 10) * Math.PI) / 180;

            rec1.a.copy(Convert.ToInt32((rec1.a.x - XX) * Math.Cos(f) - (rec1.a.y - YY) * Math.Sin(f) + XX), Convert.ToInt32((rec1.a.x - XX) * Math.Sin(f) + (rec1.a.y - YY) * Math.Cos(f) + YY));
            rec1.b.copy(Convert.ToInt32((rec1.b.x - XX) * Math.Cos(f) - (rec1.b.y - YY) * Math.Sin(f) + XX), Convert.ToInt32((rec1.b.x - XX) * Math.Sin(f) + (rec1.b.y - YY) * Math.Cos(f) + YY));
            rec1.c.copy(Convert.ToInt32((rec1.c.x - XX) * Math.Cos(f) - (rec1.c.y - YY) * Math.Sin(f) + XX), Convert.ToInt32((rec1.c.x - XX) * Math.Sin(f) + (rec1.c.y - YY) * Math.Cos(f) + YY));
            rec1.d.copy(Convert.ToInt32((rec1.d.x - XX) * Math.Cos(f) - (rec1.d.y - YY) * Math.Sin(f) + XX), Convert.ToInt32((rec1.d.x - XX) * Math.Sin(f) + (rec1.d.y - YY) * Math.Cos(f) + YY));
        }
Example #3
0
 public figure(figure bb, int aa)
 {
     a.x = bb.a.x + aa;
     a.y = bb.a.y + aa;
     b.x = bb.b.x + aa;
     b.y = bb.b.y - aa;
     c.x = bb.c.x - aa;
     c.y = bb.c.y - aa;
     d.x = bb.d.x - aa;
     d.y = bb.d.y + aa;
 }
Example #4
0
        public void FILLDRAWING(figure rec1, figure rec2)
        {
            Random rnd = new Random();
            int    rr  = rnd.Next(255);
            int    gg  = rnd.Next(255);
            int    bb  = rnd.Next(255);

            BR   = new SolidBrush(Color.FromArgb(50, rr, gg, bb));
            rec3 = new figure(rec2.a, rec2.b, rec1.b, rec1.a);
            rec4 = new figure(rec2.d, rec1.d, rec1.a, rec2.a);
            rec5 = new figure(rec1.c, rec1.d, rec2.d, rec2.c);
            rec6 = new figure(rec1.b, rec1.c, rec2.c, rec2.b);


            /////////////////////////////////////////////Цвет

            // BR = new SolidBrush(Color.White);
            FILLFIGURE(rec2.a, rec2.b, rec2.c, rec2.d);
            PointF[] pt2 = { p1, p2, p3, p4 };
            g.FillPolygon(BR, pt2);

            // BR = new SolidBrush(Color.Blue);
            FILLFIGURE(rec3.a, rec3.b, rec3.c, rec3.d);
            PointF[] pt3 = { p1, p2, p3, p4 };
            g.FillPolygon(BR, pt3);


            // BR = new SolidBrush(Color.Blue);
            FILLFIGURE(rec4.a, rec4.b, rec4.c, rec4.d);
            PointF[] pt4 = { p1, p2, p3, p4 };
            g.FillPolygon(BR, pt4);
            // BR = new SolidBrush(Color.Green);
            FILLFIGURE(rec5.a, rec5.b, rec5.c, rec5.d);
            PointF[] pt5 = { p1, p2, p3, p4 };
            g.FillPolygon(BR, pt5);

            // BR = new SolidBrush(Color.Green);
            FILLFIGURE(rec6.a, rec6.b, rec6.c, rec6.d);
            PointF[] pt6 = { p1, p2, p3, p4 };
            g.FillPolygon(BR, pt6);



            // BR = new SolidBrush(Color.Red);
            FILLFIGURE(rec1.a, rec1.b, rec1.c, rec1.d);
            PointF[] pt1 = { p1, p2, p3, p4 };

            g.FillPolygon(BR, pt1);
        }
Example #5
0
        public int drawTSquare(figure rec1, figure rec2, int iter, int xyz)
        {
            if (iter == 1)
            {
                return(0);
            }

            figure f1 = new figure(rec1, xyz);
            figure f2 = new figure(rec2, xyz);

            if (checkBox5.Checked == true)
            {
                Drawing(f1, f2, iter);
            }
            if (checkBox4.Checked == true)
            {
                FILLDRAWING(rec1, rec2);
            }


            drawTSquare(f1, f2, iter - 1, xyz);

            return(0);
        }
Example #6
0
        public byte Draw_figure()
        {
            //rotationX();

            rec1 = new figure(X, Y, at, bt, Size);
            rec2 = new figure(X + Size * 5 + ct, Y - Size * 5 - ct, at, bt, Size);


            rotation1(ref rec1, X, Y);
            rotation1(ref rec2, rec2.a.x + Size * 5, rec2.a.y + Size * 5);
            rotation2(ref rec1, X, Y);
            rotation2(ref rec2, rec2.a.x + Size * 5, rec2.a.y + Size * 5);
            if (checkBox2.Checked == true)
            {
                FILLDRAWING(rec1, rec2);
            }
            if (checkBox3.Checked == true)
            {
                Drawing(rec1, rec2, 0);
            }

            drawTSquare(rec1, rec2, trackBar4.Value, trackBar4.Value);
            return(0);
        }
Example #7
0
        public void Drawing(figure rec1, figure rec2, int size)
        {
            /////////////////////////////////////////////Квадрат  1
            p = new Pen(Color.Black);
            g.DrawLine(p,
                       rec1.a.x,
                       rec1.a.y,
                       rec1.b.x,
                       rec1.b.y - size
                       );
            g.DrawLine(p,
                       rec1.b.x,
                       rec1.b.y - size,
                       rec1.c.x - size,
                       rec1.c.y - size
                       );
            g.DrawLine(p,
                       rec1.c.x - size,
                       rec1.c.y - size,
                       rec1.d.x - size,
                       rec1.d.y
                       );
            g.DrawLine(p,
                       rec1.d.x - size,
                       rec1.d.y,
                       rec1.a.x,
                       rec1.a.y
                       );


            /////////////////////////////////////////////Квадрат  2

            g.DrawLine(p,
                       rec2.a.x,
                       rec2.a.y,
                       rec2.b.x,
                       rec2.b.y - size
                       );
            g.DrawLine(p,
                       rec2.b.x,
                       rec2.b.y - size,
                       rec2.c.x - size,
                       rec2.c.y - size
                       );
            g.DrawLine(p,
                       rec2.c.x - size,
                       rec2.c.y - size,
                       rec2.d.x - size,
                       rec2.d.y
                       );
            g.DrawLine(p,
                       rec2.d.x - size,
                       rec2.d.y,
                       rec2.a.x,
                       rec2.a.y
                       );


            /////////////////////////////////////////////Соеденение

            g.DrawLine(p,
                       rec2.a.x,
                       rec2.a.y,
                       rec1.a.x,
                       rec1.a.y
                       );
            g.DrawLine(p,
                       rec2.b.x,
                       rec2.b.y - size,
                       rec1.b.x,
                       rec1.b.y - size
                       );
            g.DrawLine(p,
                       rec2.c.x - size,
                       rec2.c.y - size,
                       rec1.c.x - size,
                       rec1.c.y - size
                       );
            g.DrawLine(p,
                       rec2.d.x - size,
                       rec2.d.y,
                       rec1.d.x - size,
                       rec1.d.y
                       );
        }