fullseye

form_factor_polygons — OPTICS radiosity op

使い方

View factor F_ij between two flat convex polygons (triangles or quads) in 3-D, numerically.

F_ij = (1/A_i) ∫_{A_i} F_{dA→A_j} dA: the inner factor from a point to the polygon j is Lambert’s closed contour sum (1/2π) Σ_k n·Γ_k (exact, no quadrature), the outer integral over i an n_quad × n_quad Gauss–Legendre rule on the (bilinearly mapped) polygon. A polygon that straddles the receiver’s plane is integrated by points with the cosine clipped at 0 instead. Each polygon is (3, 3) or (4, 3) vertices (x, y, z) in order around its edge; the sides that face each other count (the vertex order does not matter).

occluders is None (nothing in between — true inside a convex cavity) or an optscene scene (list of scene_* dicts): each quadrature point is then tested with one ray to the centre of j.

Gates: Howell’s C-11 (0.199825) and C-14 (0.200044) to the quadrature accuracy, reciprocity A_i F_ij = A_j F_ji.

Returns F_ij (measurement).

Raises ValueError: an empty polygon, or one that is not (3|4, 3), non-finite, degenerate, non-planar or non-convex; n_quad not an integer in [1, 64]; occluders that are not optscene primitives.

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

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

詳しい使い方ガイド

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

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

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

—

同カテゴリ(radiosity)

form_factor_parallel_rects · form_factor_perpendicular_rects · radiosity_patches · 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.