render op• 数据种类:normalmap → image2d
• 调用: import fullseye as fs; fs.ledger.render_shaded(normals_img, light=(0, 0, 1), ambient=0.1)(要直接调用实现,import match3d; match3d.render_shaded(normals_img, light=(0, 0, 1), ambient=0.1);从台账取用则 ops3d.get("render_shaded"))
法线图 (H,W,3) + 光源方向 → Lambert 着色图像(外观样本生成,与光学衔接)。
以 (H, W) float64、值域 [0, 1] 返回 I = ambient + (1 − ambient)·clip(n·L̂, 0, 1)。light 在内部单位化(零向量会因除以 0 变为 NaN),但法线不做单位化(请传入单位法线。estimate_point_normals / normals_from_depth 的输出为单位法线)。法线的分量顺序与 light 的分量顺序要一致(默认 (0,0,1) 遵循以第 3 分量=朝向相机为正面光的约定)。背向光源的面取 ambient 的值。把最后一个轴视为法线,因此 (N,3) 的逐点法线也能工作。没有镜面高光(另行用 fresnel_reflectance / reflect)。
用途: photometric_stereo 的验算(法线 → 图像的正向),外观检测的合成样本。
• blender_interop — 与 Blender 配合使用 —— 在 Blender 中建形、用 fullseye 测量(坐标轴、单位、真值数据的陷阱)
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• render_ao — py -3.11 examples_3d/render_ao.py
image2d 作为输入)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 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.