我一直在查看上面提到的图表,并试图弄清楚他们在下面的片段中的“FillData”方法是如何工作的。
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);
}
}
}
该文档非常稀疏,我想传递值列表来代替“Y”,但我不知道其余代码在做什么,如果这里有人使用过这个,请拍摄。