我有一个定义封闭水密表面的 3d 网格(一组三角形)。我想光栅化这个网格,即将网格占据的空间划分为均匀的小立方体(相当于 2d 像素的 3d),并将三角形通过的立方体绘制为黑色,其余为白色。例如,类似于将二维矢量图形图像栅格化为栅格化 bmp 的方式。
换句话说,我想输出一个 3d 数组,A
那是 M x M x M
, 这样 A(i,j,k)
如果有一些三角形穿过立方体在位置 i,j,k
占据的空间,则为 1 .
希望这很清楚,如果没有 - 告诉我,我会澄清。
任何算法、库、matlab 例程都可以。
最佳答案
我无法向您展示一些算法或库,只能提供一个小提示。您正在寻找的术语是体素化。尝试谷歌,它可能会为您提供一些资源,以及这个小但也很旧的 introduction主题可能是进一步研究的基础。
关于3d - 如何栅格化 3d 网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7011056/