コード例 #1
0
 public static void draw_point1(d3 point, PictureBox p, Graphics g)
 {//отображение точки на пикчерБоксе
     point.x = point.X * E1.C[0] + point.Y * E2.C[0] + point.Z * E3.C[0];
     point.y = point.X * E1.C[1] + point.Y * E2.C[1] + point.Z * E3.C[1];
     g.FillEllipse(Brushes.White, (float)point.x + p.Width / 2, (float)point.y + p.Height / 2, 2, 2);
     //отличие этого отображения в том, что при вращении это отображение будет вращатся вокруг статичного внешнего базиса
 }
コード例 #2
0
        public static void draw_point(d3 point, PictureBox p, Graphics g)
        {
            d3 x = point;

            x.x = x.X * E1.C[0] + x.Y * E2.C[0] + x.Z * E3.C[0];
            x.y = x.X * E1.C[1] + x.Y * E2.C[1] + x.Z * E3.C[1];
            g.FillEllipse(Brushes.Black, (float)x.x + p.Width / 2, (float)x.y + p.Height / 2, 2, 2);
        }
コード例 #3
0
 public static void draw_line(d3 point1, d3 point2, PictureBox p, Graphics g)
 {
     point1.x = point1.X * E1.C[0] + point1.Y * E2.C[0] + point1.Z * E3.C[0];
     point1.y = point1.X * E1.C[1] + point1.Y * E2.C[1] + point1.Z * E3.C[1];
     point2.x = point2.X * E1.C[0] + point2.Y * E2.C[0] + point2.Z * E3.C[0];
     point2.y = point2.X * E1.C[1] + point2.Y * E2.C[1] + point2.Z * E3.C[1];
     g.DrawLine(Pens.Black, (float)point1.x + p.Width / 2, (float)point1.y + p.Height / 2, (float)point2.x + p.Width / 2, (float)point2.y + p.Height / 2);
 }
コード例 #4
0
 public static void draw_line1(d3 point1, d3 point2, PictureBox p, Graphics g)
 {//отображение прямой на пикчерБоксе
     point1.x = point1.X * E1.C[0] + point1.Y * E1.C[1] + point1.Z * E1.C[2];
     point1.y = point1.X * E2.C[0] + point1.Y * E2.C[1] + point1.Z * E2.C[2];
     point2.x = point2.X * E1.C[0] + point2.Y * E1.C[1] + point2.Z * E1.C[2];
     point2.y = point2.X * E2.C[0] + point2.Y * E2.C[1] + point2.Z * E2.C[2];
     g.DrawLine(Pens.White, (float)point1.x + p.Width / 2, (float)point1.y + p.Height / 2, (float)point2.x + p.Width / 2, (float)point2.y + p.Height / 2);
     //отличие этого отображения в том, что при вращении это отображение будет вращатся вокруг статичного внешнего базиса
 }
コード例 #5
0
        public static void draw_basis(PictureBox p, Graphics g)
        {
            d3 x    = new d3(100 * E1[0], 100 * E1[1], 100 * E1[2]);
            d3 y    = new d3(100 * E2[0], 100 * E2[1], 100 * E2[2]);
            d3 z    = new d3(100 * E3[0], 100 * E3[1], 100 * E3[2]);
            d3 zero = new d3(0, 0, 0);

            draw_line_color(zero, x, p, g, Color.Red);
            draw_line_color(zero, y, p, g, Color.Green);
            draw_line_color(zero, z, p, g, Color.Blue);
        }
コード例 #6
0
        static void draw_line_color(d3 point1, d3 point2, PictureBox p, Graphics g, Color col)
        {
            Pen pn = new Pen(col);

            g.DrawLine(pn, (float)point1.X + p.Width / 2, (float)point1.Y + p.Height / 2, (float)point2.X + p.Width / 2, (float)point2.Y + p.Height / 2);
        }