d3.js 如何在缩放时更新三维散点图上的点的颜色?

0vvn1miw  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(194)

我有一个问题希望你能帮助我
我们正在尝试显示一个3D点云,其中包含大约20万个点,如下图所示,并带有颜色条。

当用户放大时,我们希望更新颜色条,以匹配仍然可见的点的新最小值/最大值,从而在对用户重要的细节上获得更多对比度。
因此,我们需要找到仍然可见的点的新的最小值/最大值,并且需要为这些点分配新的颜色。
如果我们只是在JS中迭代数组并手动分配颜色,这感觉相当滞后。你有什么想法吗?也许使用GPU上运行的three.js函数。
简而言之:

  • 怎么弄的分还看得见,是不是有大事?
  • 在用户交互后获得最小/最大可见点的最快方法是什么?
  • 如何在JS中调整点的颜色而不进行迭代?
kfgdxczn

kfgdxczn1#

怎么弄的分还看得见,是不是有大事?
不,没有。你必须迭代所有的点,将每个点转换到世界空间,并检查该点是否位于相机的视锥内。
在用户交互后获得最小/最大可见点的最快方法是什么?
您必须迭代所有点,然后检查最小/最大值。
如何在JS中调整点的颜色而不进行迭代?
如果知道最小值/最大值,则可以将它们作为统一值传递到着色器中,并使用它们更新顶点/点颜色。

相关问题