// for help on this module: http://www.codeproject.com/KB/graphics/surfacePloter.aspx

        public View3DSurface(Form mOwner)
        {
            InitializeComponent();
            render             = new Surface3DRenderer(70, 35, 40, 0, 0, ClientRectangle.Width, ClientRectangle.Height, 0.5, 0, 0);
            render.ColorSchema = new ColorSchema(tbHue.Value);
            View3DSurface_Resize(null, null);
            ResizeRedraw         = true;
            DoubleBuffered       = true;
            owner                = mOwner;
            this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
            this.StartPosition   = FormStartPosition.CenterParent;
            this.ShowInTaskbar   = false;
            this.ControlBox      = true;
            instance             = true;
            this.StartPosition   = FormStartPosition.CenterParent;
            ToolTip toolTip = new ToolTip();

            toolTip.AutoPopDelay     = 10000;
            toolTip.InitialDelay     = 400;
            toolTip.ReshowDelay      = 200;
            toolTip.ShowAlways       = true;
            this.FormClosing        += new System.Windows.Forms.FormClosingEventHandler(this.View3DSurface_Closing);
            plotDataGridView.Visible = false;
            //render.SetFunction("sin(x1)*cos(x2)/(sqrt(sqrt(x1*x1+x2*x2))+1)*10");
            render.SetFunction("sin(x1)*cos(x2)");
        }
Beispiel #2
0
        public static void Draw3DSurface(PictureBox pBox)
        {
            //set up objects
            Bitmap   bitmap   = new Bitmap(width, height);
            Graphics graphics = Graphics.FromImage(bitmap);

            renderer3d = new Surface3DRenderer(observableXYZ.x, observableXYZ.y, observableXYZ.z, screenXY.X, screenXY.Y, width, height, zoom, 0, 0);
            renderer3d.MultiThreaded = MultiThreaded;

            //set mouse events
            pBox.Paint              += Draw3DSurface_Paint;
            pBox.MouseWheel         += Draw3DSurface_MouseWheel;
            pBox.MouseDown          += Draw3DSurface_MouseDown;
            pBox.MouseUp            += Draw3DSurface_MouseUp;
            pBox.MouseMove          += Draw3DSurface_MouseMove;
            CapturingMouse_3DSurface = true;

            if (BlackAndWhite)
            {
                renderer3d.ColorSchema = ColorSchema.Greyscale();
            }
            else
            {
                renderer3d.ColorSchema = ColorSchema.Hsv;
            }

            //render surface
            renderer3d.RenderSurface(graphics, pixelMatrix, AdjustmentValue);
            graphics.Dispose();
            pBox.Image = bitmap;
        }
Beispiel #3
0
        public SurfaceGraphViewer()
        {
            InitializeComponent();
            this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.SurfaceGraphMouseWheel);

            sr             = new Surface3DRenderer(pov_x, pov_y, pov_z, pan_x, pan_y, ClientRectangle.Width, ClientRectangle.Height, pov_d, 0, 0);
            sr.ColorSchema = new ColorSchema(0);
            sr.Density     = 1;
            ResizeRedraw   = true;
            DoubleBuffered = true;
        }
 public SurfaceGraphViewer()
 {
     InitializeComponent();
     MouseWheel    += SurfaceGraphMouseWheel;
     sr             = new Surface3DRenderer(pov_x, pov_y, pov_z, pan_x, pan_y, ClientRectangle.Width, ClientRectangle.Height, pov_d, 0, 0);
     BackColor      = Color.White;
     sr.ColorSchema = new ColorSchema(0);
     sr.Density     = 1;
     ResizeRedraw   = true;
     DoubleBuffered = true;
 }
Beispiel #5
0
        public SurfacePlotterControl()
            : base(false)
        {
            InitializeComponent();

            softRender             = new Surface3DRenderer(70, 35, 40, 0, 0, ClientRectangle.Width, ClientRectangle.Height, 0.5, 0, 0);
            softRender.ColorSchema = new ColorSchema(colorSchema = 0);
            ResizeRedraw           = true;

            ReBuildSceneBuffers();

            SurfaceFunction = "sin(x1)*cos(x2)/(sqrt(sqrt(x1*x1+x2*x2))+1)*10";
        }