cad_visible_faces — CADMAP visibility op

• 数据种类:mesh → indices

• 调用: import fullseye as fs; fs.ledger.cad_visible_faces(mesh, K=None, R=None, t=None, width=64, height=64, cull_backfaces=True, strict=True)(要直接调用实现,import cadmap; cadmap.cad_visible_faces(mesh, K=None, R=None, t=None, width=64, height=64, cull_backfaces=True, strict=True);从台账取用则 opscadmap.get("cad_visible_faces"))

用法

从该相机实际可见的面 ID(升序,indices sort)。

向图像网格(width x height,像素中心在整数坐标)发射光线,收集最靠前的面。背面(法线不朝向相机)以及完全被前方的面遮住的面不包括在内。直接返回检测覆盖率 —— “从这个视点看,CAD 的哪些面算是看过了”—— 的量,与 mesh_area 组合即可得到 “未检测的面积”。

在图像中小于网格分辨率的面会被漏掉(因为是采样,理所当然)。为了不把遗漏说成“被遮住”,返回的是“看到的面”,而不是 “看不到的面的补集”。

★只有这里 strict 的默认值是 True(其他 3 个是 False)。返回值是裸的下标数组,所以没有地方记载修正了绕向这一事实, 要避免“悄悄修正”,这里只能拒绝。在 cull_backfaces=True 不变的情况下传入向内绕的闭合网格(mesh)会抛出 ValueError。想要自动修正时,请在调用方显式指定 strict=False —— 那时是使用者要求了修正,所以即使不出现在返回值中,也不算悄悄进行。cull_backfaces=False 时绕向不影响结果,因此也不做检查。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• defect_to_cad — py -3.11 examples/defect_to_cad.py

类型可衔接的下一个算子(可接受 indices 作为输入)

—

同类别(visibility)

—


*Provenance: cadmap.py — CADMAP 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.