gpt4 book ai didi

visualization - 空间数据可视化细节级别

转载 作者:行者123 更新时间:2023-12-01 05:21:39 26 4
gpt4 key购买 nike

我有一个具有不同属性的 3D 点云数据集,到目前为止我将这些属性可视化为点,并且我希望根据与该集的距离来获得 LOD。我希望能够从远处获得一个具有更少和更大点的广义 View ,并且当我放大时,我希望更多的点正确地间隔开自动出现。

有点像下面的视频,行为明智:http://vimeo.com/61148577

我认为一种解决方案是使用自适应八叉树,但我不确定这是否是一个好的解决方案。我一直在研究具有无缝过渡的层次聚类,但我不确定应该采用哪种解决方案符合我的目标。

任何想法,从哪里开始的提示?或者有什么具体的方法?

谢谢

最佳答案

您链接的视频使用了 2D 元球。当元球聚集在一起时,它们会形成 Blob ,而不是更大的圆圈。你没问题吗?

在继续之前,您应该阅读元球的介绍。只是谷歌二维元球。

所以,希望您已经阅读了元球阈值和衰减函数。你的衰减函数应该有一个半径——函数下降到零的距离。

我们可以通过调整阈值和半径来实现 LOD 效果。基本上,当您缩小时,增加半径,以便点影响更大的区域并开始聚集在一起。此外,调整阈值,使点密度不足的区域开始消失。

我找到了这个现有的 jsfiddle 2D metaballs 演示,我已经修改了它以展示 LOD:

  • LOD 0:单个点作为圆圈。 ( http://jsfiddle.net/TscNZ/370/ )
  • LOD 1:孤立点开始缩小,但点簇开始形成 Blob 。 ( http://jsfiddle.net/TscNZ/374/ )
  • LOD 2:孤立点消失了。 Blob 越来越少,越来越大。 (将上面的 URL 更改为 jsfiddle 修订版 377)
  • LOD 3: Blob 更少,甚至更大。 (将上面的 URL 更改为 jsfiddle 修订版 380)

  • 正如您在不同的 jsfiddle 修订中所见,更改 LOD 只需要调整几个变量:
    threshold = 1,
    max_alpha = 1,
    point_radius = 10,

    许多元球文章没有涉及的一个关键点:您需要使用一个约定,其中只有高于阈值的值才被视为“在”元球中。然后,当缩小得很远时,您需要将阈值设置为高于衰减函数的峰值。这将导致孤立点完全消失,只留下可见的团块。

    渲染元球本身就是一个完整的话题。这个 jsfiddle 演示采用了一种非常低效的蛮力方法,但也有更有效的“行进方块”。

    关于visualization - 空间数据可视化细节级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16195174/

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