fullseye

radiosity_patches — OPTICS radiosity op

使い方

Build a set of flat radiosity patches (rad_patches table) from polygons or from an optscene scene.

Either polygons — (N, 3|4, 3) flat convex triangles or quads, one patch each, vertices in order around the edge, normal = right-hand rule (the side that emits) — with albedo a scalar, (N,) or (N, 3) (RGB) in [0, 1] (None = 0.5); or scene — an optscene scene (scene_box, scene_difference of a box minus a box, finite scene_plane; an infinite plane only with albedo 0) whose Lambertian faces are cut into rectangles no larger than patch_mm (cut also at every other face’s plane, so no patch straddles another face; outer_mm, when given, is the size used on every face that is not the inside of a pocket — the outside of a part rarely exchanges light with anything, so it can be coarse) no patch straddles another face). Faces in contact with another solid are dropped. Albedo then comes from each primitive’s material (passing albedo too is refused — two sources for one number).

Returns a dict (table) with kind = "rad_patches", polygons (N, 4, 3), normals (N, 3), areas (N,), centers (N, 3), albedo (N, 3), labels (N,) (scene index, or -1), regions (N,) ("outer" / "cavity" / "plane" / "polygon") and occluders (the scene, or None).

Raises ValueError: both or neither of polygons / scene (an empty polygon array or scene included); albedo given with scene; a polygon that is degenerate, non-planar or non-convex; an albedo outside [0, 1] or of the wrong shape; a scene primitive that is not supported (sphere, cylinder, nested difference, reflective infinite plane) or not Lambertian; more than 6000 patches.

ファミリ共通の入力契約(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

同カテゴリ(radiosity)

form_factor_parallel_rects · form_factor_perpendicular_rects · form_factor_polygons · form_factor_matrix · radiosity_progressive_3d · render_optscene_gi


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

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