transform op• 数据种类:mesh → voxel
• 调用: import fullseye as fs; fs.ledger.mesh_to_voxel(vertices, faces, size, bounds=None, samples=40000, device='cpu', smooth=0.8)(要直接调用实现,import match3d; match3d.mesh_to_voxel(vertices, faces, size, bounds=None, samples=40000, device='cpu', smooth=0.8);从台账取用则 ops3d.get("mesh_to_voxel"))
• GPU:该算子有 GPU 路径(device="cuda")
mesh(顶点+面)→ 密度 voxel。面上均匀采样 → splat(把 mesh 行接到所有方法)。
三角形上的均匀点用 barycentric(sqrt 技巧)。需要占据 voxel 时做阈值化。
步骤: 按各三角形面积比例选出 samples 个面(default_rng(0) 的固定 seed → 每次都是相同的点),在面内生成均匀的 barycentric 点并传给 points_to_voxel(smooth 默认 0.8 voxel)。faces 是 (F,3) 的顶点 index,vertices 是 (V,3)。只有退化面(面积 0)的 mesh 会使概率变为 NaN,rng.choice 抛出 ValueError。bounds=None 时取样本点的 min/max(与 mesh 的 bbox 几乎一致,但视样本而定会略微偏内)。bounds 的校验与范围外 clip 与 points_to_voxel 相同。返回值是 (size, size, size) float64 的点密度(不是占据。需要占据时用阈值 2 值化)。轴顺序为顶点坐标的列顺序。想改 seed 或同时需要点云时,先用 mesh_to_points 生成点云,再交给 points_to_voxel。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• transforms_repr — py -3.11 examples_3d/transforms_repr.py
voxel 作为输入)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
transform)points_to_voxel · gaussians_to_voxel · mesh_to_points · depth_to_points · voxel_to_mips · voxel_to_mesh · tsdf_from_depth · signed_distance_field
*Provenance: match3d.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.