2011-02-07 5 views
0

私は上記のチャートを見ており、以下のスニペットの「FillData」メソッドがどのように機能するのか把握しようとしています。Nevronサーフェスチャートデータソース

private void FillData(NGridSurfaceSeries surface) 
     { 
      double y, x, z; 
      int nCountX = surface.Data.GridSizeX; 
      int nCountZ = surface.Data.GridSizeZ; 

      const double dIntervalX = 30.0; 
      const double dIntervalZ = 30.0; 
      double dIncrementX = (dIntervalX/nCountX); 
      double dIncrementZ = (dIntervalZ/nCountZ); 

      z = -(dIntervalZ/2); 

      for(int j = 0; j < nCountZ; j++, z += dIncrementZ) 
      { 
       x = -(dIntervalX/2); 

       for(int i = 0; i < nCountX; i++, x += dIncrementX) 
       { 
        y = (x * z/64.0) - Math.Sin(z/2.4) * Math.Cos(x/2.4); 
        y = 10 * Math.Sqrt(Math.Abs(y)); 

        if(y <= 0) 
        { 
         y = 1 + Math.Cos(x/2.4); 
        } 

        surface.Data.SetValue(i, j, y); 
       } 
      } 
     } 

documentaionが極めて希薄である、ここで誰もがこれで働いているならば、私は「Y」の代わりに、値のリストを渡すしたいと思いますが、私は、コードの残りの部分が何をしているのか分かりません撮影してください。

答えて

0

実際には、surface.Data.SetValueメソッドのみが必要です。コードの残りの部分では、いくつかのデータが生成されます。グリッドサーフェスのデータストレージは2次元テーブルのようなものです.iとjはデータポイントを指定するインデックスで、yはデータポイントの値です。たとえば、次のコードは、3x2グリッドサーフェスの一部のデータを塗りつぶします。

// first row 
surface.Data.SetValue(0, 0, 7.53); 
surface.Data.SetValue(1, 0, 6.19); 
surface.Data.SetValue(2, 0, 9.78); 

// second row 
surface.Data.SetValue(0, 1, 5.35); 
surface.Data.SetValue(1, 1, 4.71); 
surface.Data.SetValue(2, 1, 8.85); 

これが役立つことを望みます。