# MarchingCube **Repository Path**: codecooko/MarchingCube ## Basic Information - **Project Name**: MarchingCube - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MarchingCube 迷之Marching Cube算法,一开始以为只能用于基于CT的网格重构,结果发现拓展下还能作为很多数据形式的网格重构算法=。= 其实MC也可以有很多变种啦,但是这里大致演示一下过程: --输入体素模型:这些体素模型就直接从预设好的外部文件读取,一共有一百来个文件,每个文件是一层体素(算是强行从CT切片里面提取的数据)。对于每一层,里面直接就是0x00和0xff的bytes,一个byte对应一个体素,512x512的二值化矩阵,0xff就表示当前位置有体素 --重构:使用MarchingCube算法重构出三角形网格,但是对于每一个cube,棱上生成的顶点先只考虑在棱的中点上(也就是(v_1+v_2)*0.5f),所以如果不做体素降采样/滤波的话,生成的网格有锯齿是不能避免的(毕竟原始数据都是二值化的) --输出STL:顺手输出.stl模型文件呗,可以拿其他软件查看重建结果