This project's aim is to voxelize the *.ply
3D model.
But only for ply
files, all assimp support files can be voxelized.
Autodesk ( .fbx ), Collada ( .dae ), glTF ( .gltf, .glb ), Blender 3D ( .blend ), 3ds Max 3DS ( .3ds ), 3ds Max ASE ( .ase ), Wavefront Object ( .obj ), Industry Foundation Classes (IFC/Step) ( .ifc ), XGL ( .xgl,.zgl ), Stanford Polygon Library ( .ply ), AutoCAD DXF ( .dxf ), LightWave ( .lwo ), LightWave Scene ( .lws ), Modo ( .lxo ), Stereolithography ( .stl ), DirectX X ( .x ), AC3D ( .ac ), Milkshape 3D ( .ms3d ), TrueSpace ( .cob,.scn )
A numpy array with shape of you appointed.Example: you give a vexel size of (100, 100, 100).
It will return a numpy array with shape (100, 100, 100).
Filename: imagename.npy
When you need to import it, using numpy.load(filename)
.
For more convenient usage, it export a json file. Just reshape the numpy array to (-1, ) . As it shown below:
'[0,1,0,1]'
Filename: iamgename.json
A format of binvox, using binvox-rw-py
to write out .binvox
file to floder.
Using this format, you can easily got the result in eyes with viewvox.
>>> import voxelization
>>> voxelization.voxelization("134212_1.ply")
('Bounding box: ', 350.86337, 268.0675, 62.311089, 140.45639, 59.910782, -137.18449)
('x_edge: ', 1.0958697001139324, '\ny_edge: ', 1.0841495990753174, '\nz_edge: ', 0.99747787475585936, '\nedge: ', 1.0958697001139324)
('The mesh ', '0', ' has vertices: ', (53215, 3))
('The mesh', '0', ' process successfully in ', 530.8458249568939, 's')
calculate all meshes voxel finished!
array([[[0, 0, 0, ..., 0, 0, 0],
......
[0, 0, 0, ..., 0, 0, 0]]], dtype=int8)
>>>
The file run.sh
is the usage of the script batch_voxelization.py
. You can change your arguments, and run it just use command bash run.sh
in linux.
There is some works of the app. Those screenshot pictures are using viewvox Application.
PyAssimp can import and export many formats of 3-D models, very useful.
NumPy is the fundamental package for scientific computing with Python.
FLANN (Fast Library for Approximate Nearest Neighbors) is a library for performing fast approximate nearest neighbor searches. FLANN is written in the C++ programming language. FLANN can be easily used in many contexts through the C, MATLAB and Python bindings provided with the library.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。