#3d #mesh #algorithm #graphics #voxel #dda #voxelization

dda-voxelize

使用DDA算法的3D网格体素化

3个版本 (重大变更)

0.2.0-alpha.12024年6月10日
0.1.0 2024年6月5日
0.0.1 2024年5月30日

#280 in 地理空间

每月下载 30

MIT 协议

210KB
432 代码行

dda-voxelize

test Crates.io Version

开发中。

使用DDA(数字微分分析仪)算法在Rust中实现的3D网格体素化器。当只需要体素化3D对象的表面(而非体积)时,DDA方法简单且非常快速。

1716994116122

DDA算法概述

另请参阅: 数字微分分析仪 - 维基百科

DDA算法是一种在计算机图形学中常用的快速线绘制方法。它在线的X或Y主轴上逐步移动,同时计算每一步在副轴上的对应值。这使得仅访问线实际交错的像素/体素,从而高效地绘制线条。

对于3D体素化,DDA算法可以扩展到沿主轴(X、Y或Z)逐步移动,同时跟踪其他两个轴上的交点。这使得可以快速遍历体素网格并标记与几何形状重叠的所有体素。

示例

运行示例: cargo run --package dda-voxelize --example voxelize

依赖项

~5MB
~130K SLoC