Exemple #1
0
        //绘制三角网
        public void Draw_TIN()
        {
            TIN_Bmp = new Bitmap(Width1, Height1);
            MainInterface.f1.pb.Size = new Size(Width1, Height1);
            //调用绘图类
            Class_Draw draw = new Class_Draw();

            draw.gp = Graphics.FromImage(TIN_Bmp);
            draw.gp.Clear(Color.Black);

            //将网点坐标储存在列表中
            List <double> x = new List <double>();
            List <double> y = new List <double>();

            for (int i = 0; i < T1.Count; i++)
            {
                x.Add(T1[i].Tp[0].x);
                x.Add(T1[i].Tp[1].x);
                x.Add(T1[i].Tp[2].x);

                y.Add(T1[i].Tp[0].y);
                y.Add(T1[i].Tp[1].y);
                y.Add(T1[i].Tp[2].y);
            }

            draw.CalRatio(x, y, Width1, Height1);

            draw.Change(x, y, Width1 / 2, Height1 / 2);

            //画线
            Pen p1 = new Pen(Color.Red);

            for (int i = 0; i < T1.Count; i++)
            {
                draw.W_line(draw.px[i * 3], draw.py[i * 3], draw.px[i * 3 + 1], draw.py[i * 3 + 1], p1);
                draw.W_line(draw.px[i * 3 + 1], draw.py[i * 3 + 1], draw.px[i * 3 + 2], draw.py[i * 3 + 2], p1);
                draw.W_line(draw.px[i * 3], draw.py[i * 3], draw.px[i * 3 + 2], draw.py[i * 3 + 2], p1);
            }

            //画点
            for (int i = 0; i < T1.Count; i++)
            {
                draw.D_circle(draw.px[i * 3], draw.py[i * 3], 2);
                draw.D_circle(draw.px[i * 3 + 1], draw.py[i * 3 + 1], 2);
                draw.D_circle(draw.px[i * 3 + 2], draw.py[i * 3 + 2], 2);
            }
        }