嘿,我目前正在尝试从 3d 数组中提取信息,其中每个条目代表一个坐标,以便从中绘制一些东西。问题是数组非常大(并且有几个),这意味着我实际上无法绘制所有这些。
我想要完成的只是绘制外部坐标的表示,如果您愿意,可以绘制数组的外壳。该数组不完整,可能有大的空白空间,只设置了几个像素,或者有大的像素数据簇组合在一起。我不知道期待什么样的形状(可能是一个简单的立方体,或者一个复杂的凹面网格),并且正在努力想出一种算法来有效地提取边界。该数组有效地将一组点存储在 3d 空间中。
我想创建 6 个 2d 网格(3d 阵列的每一侧一个),并为每个位置获取他们可以找到的最浅点,然后分别绘制它们。然而,正如我所说,这个 3d 形状可能是凹形的,这会给这种方法带来问题。想象一个顶部有一个圆圈的圆锥体(所说的圆圈比圆锥体的底部大)。虽然顶部和侧面的网格会从形状中获得正确的深度信息,但底部的网格会通过垂直线将底座连接到圆形,让我有效地松开圆锥形。
然后我想逐个切片分析数组,并从切片数据创建 2 个网格。我相信这应该适用于任何类型的形状,但是我正在努力寻找一种算法,它可以准确地为我提供每个切片的边界信息。再一次,如果你只是尝试从切片创建高度图,如果它们有任何凹面,你会遇到问题。我也通过了某种边缘跟踪算法,但是数组不提供连续的数据,而且几乎可以肯定每个切片都没有连续的边缘。
我尝试研究用于医学成像等的体积渲染,因为它处理与我所拥有的类似的问题,但实际上找不到任何我可以使用的东西。
如果有人对此类问题有任何经验或任何有价值的意见,请您指出正确的方向。
PS 我更喜欢得到一个封闭的外壳表示,因此我早期的 2d 网格方法。然而,一种简单地给我外壳点的方法,它们之间没有任何联系,这仍然会非常有帮助。
谢谢你,泽