mesh_to_voxel — 3D 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.