Почему отображение данных в ILNumerics дает результат, который не является симметричным? (2D-график)

У меня есть код ILNumerics, как это:

        var scene = new ILScene();

        ILColormap cm = new ILColormap(Colormaps.Hot);
        ILArray<float> data = cm.Data;

        data[":;0"] = ILMath.pow(data[":;0"], 3.0f);
        cm.Data = data;

        ILArray<float> contoh = ILMath.zeros<float>(15, 15);
        contoh[7, 14] = 1;

        scene.Add(
            new ILPlotCube(twoDMode: false){
                new ILSurface(contoh){
                    Wireframe = { Color = Color.FromArgb(50, Color.LightGray)},
                    Colormap = new ILColormap(data),
                    Children = { new ILColorbar()}
                }

            }
        );

        ilPanel1.Scene = scene;

Грубо говоря, я хочу построить 2D модель. В этой матрице "contoh" у меня есть одно значение, которое отличается от других соседей. Я хочу построить эту матрицу примерно так:

Рисунок 1

Но есть то, что я получил:фигура 2

Если мы видим белую область, это не симметрия. Почему это случилось? Когда я слегка поворачиваю модель, мы можем более четко видеть, что даже у меня есть данные в положении [14,7], белая область растягивается до [13,6], но не до [13,8].

И для последнего. Может кто-нибудь научить меня, как сделать код, который будет генерировать фигуру, как на рисунке 1?

1 ответ

Решение

Оба участка разные, потому что они разного типа. Matlab one - это imagesc, ILNumerics - это поверхность. Сюжеты Imagesc будут доступны для ILNumerics в следующем выпуске.

Другие вопросы по тегам