// 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)"); }
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; }
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; }
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"; }