render op• Datenarten: normalmap → image2d
• Aufruf: import fullseye as fs; fs.ledger.render_shaded(normals_img, light=(0, 0, 1), ambient=0.1) (die Implementierung direkt: import match3d; match3d.render_shaded(normals_img, light=(0, 0, 1), ambient=0.1); aus dem Register: ops3d.get("render_shaded"))
Normalenkarte (H,W,3) + Lichtrichtung → ein Lambert-schattiertes Bild (Erzeugung von Erscheinungsmustern, die Brücke zur Optik).
Gibt I = ambient + (1 − ambient)·clip(n·L̂, 0, 1) als (H, W) float64 mit Wertebereich [0, 1] zurück. light wird intern normiert (ein Nullvektor ergibt NaN durch Division durch 0), aber Normalen werden nicht normiert (Einheitsnormalen übergeben; die Ausgaben von estimate_point_normals / normals_from_depth sind normiert). Die Komponentenreihenfolge der Normalen und die von light müssen übereinstimmen (der Standard (0,0,1) folgt der Konvention, dass die 3. Komponente = zur Kamera hin Frontlicht ist). Von der Lichtquelle abgewandte Flächen erhalten den Wert ambient. Die letzte Achse wird als Normale betrachtet, daher funktioniert es auch mit punktweisen Normalen der Form (N,3). Es gibt kein spiegelndes Glanzlicht (separat mit fresnel_reflectance / reflect).
Verwendung: Gegenprobe von photometric_stereo (Normalen → Bild, Vorwärtsrichtung), synthetische Proben für die Sichtprüfung.
• blender_interop — Zusammen mit Blender — Form bauen, mit fullseye messen (Fallstricke: Achsen, Einheiten, Referenzdaten)
• 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.
• render_ao — py -3.11 examples_3d/render_ao.py
image2d als Eingabe)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade
render)project_points · render_point_depth · render_volume_projection · ambient_occlusion · cast_shadow · phong_shade · matcap_shade · supersample_mesh
*Provenance: match3d.py — 3D 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.