当我试图用IlNumerics绘制3d函数时遇到一些麻烦

时间:2013-12-07 17:47:46

标签: c# ilnumerics

大家好我在尝试使用c#

绘制3D功能时遇到了一些问题

我的代码:

string expr = "Abs(x)+Abs(y)";
int pointX = 43;
int pointNumber = pointX * pointX;
double[] XX = new double[pointX];
double[] YY = new double[pointX];
double[,] ZZ = new double[pointX, pointX];
for (int i = 0; i < pointX; i++)
{
    double d = (double)i;
    XX[i] = YY[i] = -10 + 20 * (d / (pointX - 1));
    if (XX[i] == 0) { XX[i] = 0.01; YY[i] = 0.01; }
}
Parser p = new Parser();
for (int j = 0; j < pointX; j++)
{
    for (int k = 0; k < pointX; k++)
    {
        Hashtable h = new Hashtable();
        h.Add("x", XX[j]);
        h.Add("y", YY[k]);
        ZZ[j, k] = p.Parse(expr, h);

    }
}

然后在互联网上,我给了我用IlNumerics绘制3d函数的这段代码:

       This code is too old

但是当我尝试运行代码时,CIL会给我一些错误,因为meshgrid现在是一个不同的方法,IlSurfaceGraphm_panel2.Graphs.AddSurfGraph不再存在。

我该如何解决这个问题?

编辑1

我再次阅读了文档,并尝试使用此代码创建3D图表:

ILArray<float> Z = ZZ;
ilPanel1.Scene = new ILScene() {
    new ILPlotCube(twoDMode: false) {
        new ILSurface(ZZ) {
            UseLighting = true
        }
    }
};
ilPanel1.Scene.First<ILPlotCube>().Rotation = Matrix4.Rotation(
    new Vector3(1f, 0.23f, 1), 0.7f);

ILArray不为空,结果如下:  enter image description here 我不明白为什么图表是空的......

矩阵1849中的浮点数。Here你可以看到所有的输出(它太长了,所以我在贴纸上发布了)。这个例子很完美,没有问题。

0 个答案:

没有答案