gpt4 book ai didi

c# - 使用 HelixToolkit 为 PointCloud 中的每个点应用颜色

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:58 27 4
gpt4 key购买 nike

我在 HelixToolKit 中创建了一个点云。我需要为每个点应用颜色。当我使用 PointVisual3D 时,没有为每个点设置颜色的选项。它为整个点云设置颜色。当我在 Helix 工具包中使用 PointGeometryModel3D(使用 SharpDX)时,我也无法为每个点设置颜色。可以为点云中的每个点设置颜色。

谢谢...

最佳答案

通常,这是通过在 PointGeometryModel3D 的 PointGeometry3D 对象中设置 Colors 属性来完成的。您必须自己构建 Geometry。

  1. 创建渲染位置
  2. 创造颜色
  3. 告诉渲染器您的位置和颜色的顺序(在位置/颜色中列出索引)

           //create PointGeometryModel3D object
    PointGeometryModel3D pgm = new PointGeometryModel3D();

    //create positions
    pgm.Geometry.Positions = new HelixToolkit.Wpf.SharpDX.Core.Vector3Collection();

    pgm.Geometry.Positions.AddRange(
    new SharpDX.Vector3[]
    { new SharpDX.Vector3(0,1,2),
    new SharpDX.Vector3(1,2,3),
    new SharpDX.Vector3(3,2,3),
    });

    //create colors
    pgm.Geometry.Colors = new HelixToolkit.Wpf.SharpDX.Core.Color4Collection();

    pgm.Geometry.Colors.AddRange(
    new SharpDX.Color4[]
    {
    new SharpDX.Color4(1f,0,0,1),
    new SharpDX.Color4(0,1f,0,1),
    new SharpDX.Color4(0,0,1f,1)
    });

    //create indices
    pgm.Geometry.Indices = new HelixToolkit.Wpf.SharpDX.Core.IntCollection();

    pgm.Geometry.Indices.AddRange(
    new int[]
    {
    0,
    1,
    2,
    });

请让我知道它是否适合您。我无法让它与 LineGeometry3D 和不同的线条颜色一起使用。必须在某处有一个选项可以使渲染器使用颜色顶点而不是(单个)颜色属性。

关于c# - 使用 HelixToolkit 为 PointCloud 中的每个点应用颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com