我有一个3d网格(一组三角形),它定义了一个封闭的防水表面。我想光栅化这个网格,即将网格占据的空间划分为均匀的小立方体(3d等效的2d像素),并绘制三角形穿过的立方体为黑色,其余为白色。例如,类似于将2d矢量图形图像光栅化为光栅化bmp的方式。
换句话说,我想输出一个A
的3d数组M x M x M
,如果有一些三角形穿过该立方体所占据的空间,则A(i,j,k)
为1。位置i,j,k
。
希望这很清楚,如果不是 - 告诉我,我会澄清。
任何算法,库,matlab例程都可以。
答案 0 :(得分:1)
我无法向您展示一些算法或库,但有一些小提示。您正在寻找的术语是 Voxelization 。试试谷歌,它可能会为你提供一些资源,以及这个小的,但也很老introduction的主题可能是进一步研究的基础。
答案 1 :(得分:1)
我发现this voxelizer非常适合我的需要。它工作得非常快,还有一个matlab脚本,用于将生成的体素文件读入matlab。