Как построить 3D цветные точки с помощью инструментария Helix

Я создаю простой 3D-просмотрщик с инструментарием Helix.

Я хочу построить 3D-точки, которые окрашены.

Я ссылался на пример проекта "SimpleDemo", который содержится в Example папка (HelixToolkit.Wpf.SharpDX).

Это мой XAML:

<hx:PointGeometryModel3D x:Name="points" 
         Geometry="{Binding Points}" 
         Transform="{Binding Model1Transform}" 
         Color="{x:Static sdx:Color.White}" />

И рисунок ядра ниже.

        var points = new PointGeometry3D();
        var col = new Color4Collection();
        var ptPos = new Vector3Collection();
        var ptIdx = new IntCollection();

        for(int y = 0; y < height; y++) {
            for(int x = 0; x < width; x++) {
                if(depth[y * width + x] < 1000 && depth[y * width + x] > 0) {
                    ptIdx.Add(ptPos.Count);
                    ptPos.Add(new Vector3(x, height - y, (-depth[y * width + x] / 3.0f) + 800));
                    col.Add(rnd.NextColor().ToColor4());
                }
            }
        }

        points.Positions = ptPos;
        points.Indices = ptIdx;
        points.Colors = col;
        Points = points;

Эта программа, в некоторых случаях, хорошая работа. (Например, дело с 200 х 200 баллов). Но другой случай не очень хорош (например, сделка с 500 х 300 баллов)

Он может нарисовать 3D точку, которая не окрашена (черная).

Почему это не работает должным образом?

Комментарии:

  • Хороший рабочий образ (цветной):

Хорошо

  • Не очень хороший рабочий образ (не цветной):

Плохой

0 ответов

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