visibility op• Datenarten: mesh → indices
• Aufruf: 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) (die Implementierung direkt: import cadmap; cadmap.cad_visible_faces(mesh, K=None, R=None, t=None, width=64, height=64, cull_backfaces=True, strict=True); aus dem Register: opscadmap.get("cad_visible_faces"))
IDs der von dieser Kamera tatsächlich sichtbaren Flächen (aufsteigend, indices-Sort).
Schießt Strahlen auf das Bildgitter (width x height, Pixelzentren auf ganzzahligen Koordinaten) und sammelt die jeweils vorderste Fläche. Rückseiten (Normale zeigt nicht zur Kamera) und Flächen, die von vorderen Flächen vollständig verdeckt sind, sind nicht enthalten. Es liefert direkt die Prüfabdeckung -- "welche Flächen des CAD gelten aus diesem Blickpunkt als gesehen" --, und zusammen mit mesh_area ergibt sich "die ungeprüfte Fläche".
Flächen, die kleiner als die Gitterauflösung abgebildet werden, werden verfehlt (natürlich, da es Abtastung ist). Damit Verfehltes nicht in "verdeckt" umbenannt wird, wird "die gesehenen Flächen" zurückgegeben und nicht "das Komplement der nicht gesehenen Flächen".
★Nur hier ist der Standard von strict True (die anderen 3 nutzen False). Die Rückgabe ist ein nacktes Index-Array, daher gibt es keinen Ort, die Tatsache der Umlaufkorrektur zu vermerken, und um "stillschweigendes Korrigieren" zu vermeiden, bleibt hier nur das Abweisen. Wer bei cull_backfaces=True ein nach innen gewundenes geschlossenes Mesh übergibt, erhält ValueError. Wer die automatische Korrektur will, muss strict=False auf Aufruferseite explizit angeben -- dann hat der Nutzer die Korrektur verlangt, sodass nichts stillschweigend geschieht, auch wenn es nicht im Rückgabewert steht. Bei cull_backfaces=False wirkt der Umlaufsinn nicht auf das Ergebnis, daher wird auch nicht geprüft.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• defect_to_cad — py -3.11 examples/defect_to_cad.py
indices als Eingabe)—
visibility)—
*Provenance: cadmap.py — CADMAP Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.