fullseye

lens_scene — OPTICS lensrender op

使い方

Build and validate a simple 3-D scene for :func:render_scene_through_lens -> dict (the scene table).

objects is a list of dicts. {"type": "plane", "z_mm": -1000, "size_mm": (w, h), "albedo": ...} is a plane facing the lens (point_mm and normal / up tilt it; with size_mm it is the rectangle around the point, without it it is infinite) whose albedo may be a texture (H, W) or (H, W, 3) mapped onto the rectangle with bilinear sampling (row 0 at the top, up is the picture’s up). {"type": "sphere", "center_mm": (x, y, z), "radius_mm": r} and {"type": "mesh", "vertices_mm": (V, 3), "faces": (F, 3)} (Moller-Trumbore, flat shading) take the same material keys: albedo (a number, an (R, G, B) triple at the effective wavelengths 0.61 / 0.54 / 0.465 um, or {"nm", "value"}), specular (the weight ks of a normalised Blinn-Phong lobe, whose albedo is about ks), shininess and emission (spectral radiance of a self-luminous surface, W m^-2 sr^-1 nm^-1). lights: {"type": "directional", "to_light": (x, y, z), "irradiance_W_m2_nm": E} (E at normal incidence) or {"type": "point", "position_mm": ..., "intensity_W_sr_nm": I}; shadow rays are traced when shadows is true. ambient is a spectral irradiance (default 0, or 0.05 in the demo scene) that lights every surface without shadows; background is the spectral radiance a ray that hits nothing sees. sources are bright points seen by the camera, {"position_mm": (x, y, z), "intensity_W_sr_nm": I}: they are splatted by forward ray tracing (point sources cannot be found by random rays from the sensor), do not occlude and cast no shadows. With nothing given the table is a demo: a 2 mm checkerboard plane, a glossy sphere, one directional light and a little ambient light. Unknown keys, a degenerate triangle, a negative albedo or a tabulated spectrum outside its range are refused.

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd

同カテゴリ(lensrender)

exit_pupil_samples · trace_sensor_rays · scene_radiance · render_scene_through_lens · bokeh_shape · render_ghost_overlay · render_compare_prescriptions


Provenance: lensrender.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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