fullseye

prism_min_deviation_deg — OPTICS glassbody op

使い方

プリズムの最小偏角 [deg]。実硝材の分散で波長ごとに変わる = 虹が出る理由。

wavelength_nm: スカラまたは配列 [nm]。データ入力なので第 1 引数 (2026-09-04 の敵対的検証で判明: 台帳は「先頭 N 個が宣言 in 型のデータ」という 規約なのに、この op だけ apex_deg を先頭に置いていた。波長の配列が apex_deg に入り float(配列)素の TypeError を投げていた ―― 規約に 揃えるのが正しい直し方で、番人を足すのは対症療法)。 apex_deg: 頂角 A [deg]。glass: raytrace.glass_catalog の硝材名、または屈折率の数値。

返り値: 最小偏角 δ_min = 2·asin(n·sin(A/2)) − A(Hecht §5.5)。n·sin(A/2) > 1 の 波長は光が出られない(全反射)ので NaN。

検算: N-BK7・A=60° で d 線(587.6 nm)の δ_min ≈ 38.9°、F 線(486.1)と C 線(656.3)の 差(角分散)が Abbe 数から予想される向き(短波長ほど大きく曲がる)になる。

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

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

詳しい使い方ガイド

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

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

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

cie_xyz_from_wavelength · spectrum_to_srgb · thin_film_reflectance · fresnel_dielectric · fresnel_conductor · metal_optical_constants · beer_lambert_transmittance · slab_transmittance

同カテゴリ(glassbody)

beer_lambert_transmittance · slab_transmittance · refract_rays


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

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