public figure(figure bb) { a = bb.a; b = bb.b; c = bb.c; d = bb.d; }
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)); }
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; }
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); }
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); }
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); }
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 ); }