这篇文章主要介绍了Python三维网格体素化实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Python客栈送红包、纸质书
Python三维网格体素化
本文主要是实现将一个网格模型体素化,实现不同分辨率的体素化效果,并且可视化输出为obj文件!
首先利用trimesh对mesh进行采样,然后根据采样点得到各个体素点的占有值。
效果
通过调整分辨率以及采样率(当分辨率变高时建议适量提高采样率)得到以下的效果!
代码
运行:
Dependencies
numpy
trimesh
The optional parameters are:
output_folder (string): folder where the result is saved
resolution (list): the resolution of the grid [res_x, res_y, res_z]
sampling (int): number of points sampled on the mesh surface before voxelization
注:输入的类型可以时obj也可以是off以及ply格式!
注意:
若出现如下情况,可将采样点数(sampling)提高!
出现此种情况的原因是采样间隔太大,而体素尺寸太小(分辨太高),所以导致在有些体素的占有值进行判断的时候出现错误。
所以也可以通过降低分辨率来改善此种情况!
Reference:
声明:本文的代码并非原创,来自GitHub中zinsmatt的Surface_Voxels一作!若有侵权请联系撤文!
GitHub - zinsmatt/Surface_Voxels: Voxelize a mesh surface
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持vb.net教程C#教程python教程SQL教程access 2010教程xin3721自学网