Beispiel #1
0
        public void DrawGrid(PaintEventArgs e)
        {
            //build Mesh frame with vertices
            var mesh = new Mathtastic.Structures.Mesh("Cube!", 8);

            mesh.Vertices[0] = new m.Vector(-1, 1, 1);
            mesh.Vertices[1] = new m.Vector(1, 1, 1);
            mesh.Vertices[2] = new m.Vector(-1, -1, 1);
            mesh.Vertices[3] = new m.Vector(-1, -1, -1);
            mesh.Vertices[4] = new m.Vector(-1, 1, -1);
            mesh.Vertices[5] = new m.Vector(1, 1, -1);
            mesh.Vertices[6] = new m.Vector(1, -1, 1);
            mesh.Vertices[7] = new m.Vector(1, -1, -1);


            try
            {
                using (var pen = new Pen(Color.DarkGray, 1))
                {
                    var verticalPoint1 = new Point((Size / 2) + Offset, Offset);
                    var verticalPoint2 = new Point((Size / 2) + Offset, Offset + Size);
                    e.Graphics.DrawLine(pen, verticalPoint1, verticalPoint2);

                    var horizaontalPoint1 = new Point(Offset, (Size / 2) + Offset);
                    var horizaontalPoint2 = new Point(Offset + Size, (Size / 2) + Offset);
                    e.Graphics.DrawLine(pen, horizaontalPoint1, horizaontalPoint2);

                    Points.ForEach((p) =>
                    {
                        Brush brush = new SolidBrush(Color.Black);
                        //Rectangle rect = new Rectangle(

                        double px;
                        double py;
                        double pz;


                        px = p.X; //+ DistanceToCenter();
                        py = p.Y; // +DistanceToCenter();



                        m.Point finalP = new m.Point();
                        //Create the viewport xform points (converting 3d world to 2d screen
                        finalP = p.ViewportXForm(p);

                        e.Graphics.FillRectangle(brush, Convert.ToInt64(finalP.X), Convert.ToInt64(finalP.Y), 2, 2);
                    });
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
        }
Beispiel #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            draw_Click(null, null);
            grid = new Grid(gridSize, offset);
            var random = new Random(Guid.NewGuid().GetHashCode());

            for (int x = 0; x < 2; x++)
            {
                var X        = random.Next(-(gridSize / 2), gridSize / 2);
                var Y        = random.Next(-(gridSize / 2), gridSize / 2);
                var Z        = random.Next(0, gridSize / 100);
                var W        = 1; //for all points, w = 1
                var newPoint = new m.Point(X, Y, Z, W);
                grid.AddPoint(newPoint);
            }
        }
Beispiel #3
0
 public void AddPoint(m.Point point)
 {
     Points.Add(point);
 }