iLNumerics没有显示我的3d绘图-绘图仍然是2d

本文关键字:绘图 仍然是 2d 3d 我的 显示 iLNumerics | 更新日期: 2023-09-27 18:03:49

代码如下:

        //we need to render locations.
        ILArray<float> ourPositions = ourSimulator.getStars();
        var scene = new ILScene();
        var plotCube = scene.Add(new ILPlotCube(twoDMode: false));
        var ourPosBuffer = new ILPoints();
        ourPosBuffer.Positions = ourPositions;
        plotCube.Add(ourPosBuffer);
        plotCube.FieldOfView = 120;
        plotCube.LookAt = new Vector3(0, 0, 0);
        iLStarChart.Scene.Configure();

现在,该代码的早期版本(在不同的解决方案中)仍然使用3.3.2,并且

        var plotCube = scene.Add(new ILPlotCube(null, false) )

我在3.3.3版本上都试过了,都没有显示3d图。相反,它是一个二维网格。我哪里做错了?

(分:

)
        <Single> [3,4]
        -32.00000 37.00000 36.00000 38.00000 
        54.00000 107.00000 106.00000 130.00000 
       -81.00000 -16.00000 -124.00000 -226.00000  

)

编辑:缺失)在3.3.2的例子

编辑:从示例中减少了一些非关键代码。

预期的结果是我有一个三维的x,y和z轴。我得到了一个二维图形。没有z轴。我已经验证了点(这是一个ToString)

示例运行提供如下:https://www.dropbox.com/s/imiw8tbe0lh8q9x/2DPlot.png

iLNumerics没有显示我的3d绘图-绘图仍然是2d

这是我使用的一个粗略的例子,你需要添加一个"ILSurface"到plotcube

        //Replace and make sure they are all added in order
        Single[] zs = [All Zs]
        Single[] xs = [All Xs]
        Single[] ys = [All Ys]           
        //create array of points               //something like below
        ILArray<float> points = ILMath.zeros<float>(xs.Length/s, s, 3);
        points[":;:;0"] = zs;
        points[":;:;1"] = xs;
        points[":;:;2"] = ys;            
        // construct a new plotcube and plot the points
        scene = new ILScene();
        cube = new ILPlotCube(twoDMode: false);
        surface = new ILSurface(points, colormap: Colormaps.Jet);

        //set scene properties
        scene.Add(cube);
        //display cube in scene
        ilPanel1.Scene = scene;