const int POINTS = 8; cSurfaceData i_Data1 = new cSurfaceData(eSurfaceMode.Lines, POINTS, POINTS, new cColorScheme(3, Color.Orange)); cSurfaceData i_Data2 = new cSurfaceData(eSurfaceMode.Lines, POINTS, POINTS, new cColorScheme(2, Color.Black)); for (int C=0; C<POINTS; C++) { for (int R=0; R<POINTS; R++) { double d_X = (C - POINTS / 2.3) / (POINTS / 5.5); double d_Y = (R - POINTS / 2.3) / (POINTS / 5.5); double d_Radius = Math.Sqrt(d_X * d_X + d_Y * d_Y); double d_Z = Math.Cos(d_Radius) + 1.0; i_Data1.SetPointAt(C, R, d_X, d_Y, d_Z); i_Data2.SetPointAt(C, R, d_X, d_Y, d_Z * 0.6); } } cMessgData i_Mesg1 = new cMessgData("Graph with error data", 10, -10, Color.Orange); cMessgData i_Mesg2 = new cMessgData("Graph with correct data", 10, -27, Color.Black); graph3D.BeginUpdate(); graph3D.AddRenderData (i_Data1); graph3D.AddRenderData (i_Data2); graph3D.AddMessageData(i_Mesg1); graph3D.AddMessageData(i_Mesg2); graph3D.EndUpdate(eNormalize.MaintainXY);