Загрузка данных


            Graphics g = e.Graphics;

            int scale = 20;
            int offsetX = 100;
            int offsetY = 400;

            Pen pen = new Pen(Color.Black, 2);
            Pen gridPen = new Pen(Color.LightGray, 1);

            Point P(int x, int y) => new Point(offsetX + x * scale, offsetY - y * scale);

            int width = this.ClientSize.Width;
            int height = this.ClientSize.Height;

            for (int x = 0; x < width; x += scale)
            {
                g.DrawLine(gridPen, x, 0, x, height);
            }
            for (int y = 0; y < height; y += scale)
            {
                g.DrawLine(gridPen, 0, y, width, y);
            }
            g.DrawLine(pen, P(5, 18), P(4, 13));
            g.DrawLine(pen, P(5, 18), P(6, 13));
            g.DrawLine(pen, P(4, 13), P(4, 3));
            g.DrawLine(pen, P(6, 13), P(6, 3));
            g.DrawLine(pen, P(4, 3), P(6, 3));

            Point[] leftFin = { P(4, 8), P(2, 5), P(2, 1), P(3, 1), P(4, 3) };
            g.DrawLines(pen, leftFin);

            Point[] rightFin = { P(6, 8), P(8, 5), P(8, 1), P(7, 1), P(6, 3) };
            g.DrawLines(pen, rightFin);

            int r = scale / 2;
            g.DrawEllipse(pen, offsetX + 5 * scale - r, offsetY - 12 * scale -r, 2 * r, 2 * r);
            g.DrawEllipse(pen, offsetX + 5 * scale - r, offsetY - 10 * scale -r, 2 * r, 2 * r);