Рис. 24.14. Паутина Безье Перейдем к рассмотрению кода. Первым делом добавим в поля формы нужные нам объекты: //fields Point center; Point[] points = new Point[10]; Pen pen; Graphics graph; int count; Точка center будет задавать общую начальную точку для всех рисуемых кривых Безье, массив points будет задавать остальные точки, используемые при построении кривых Безье. О роли объектов pen и graph, необходимых при рисовании, уже говорилось. Объект count играет техническую роль, о которой скажу чуть позже, прямого отношения к рисованию он не имеет. В конструкторе формы вызывается метод MyInit, инициализирующий введенные объекты: void MyInit() { int cx = ClientSize.Width; int cy = ClientSize.Height; points[0] = new Point(0,0); points[1] = new Point(cx/2,0); points[2] = new Point(cx,0); points[3] = new Point(0,cy/2); points[4] = new Point(cx,cy/2); points[5] = new Point(0,cy); points[6] = new Point(cx/2,cy); points[7] = new Point(cx,cy); points[8] = new Point(0,0); points[9] = new Point(cx/2,0); graph = this.CreateGraphics(); center = new Point(cx/2,cy/2); count =1; } Рисование кривых Безье выполняется в методе DrawWeb, устроенном очень просто. В цикле рисуется 8 кривых, используя точку center и массив points: void DrawWeb() { for (int i = 0; i<8; i++) graph.DrawBezier(pen,center,points[i],points[i+2], points[i+1]); } Метод DrawBezier, вызываемый объектом |