Fresnel の反射率、薄膜干渉の色、回折格子の色、ベクトル形の屈折(光線ごとの全反射判定つき)を、実在の硝材の分散を含めて計算します。
Fresnel reflectance, thin-film interference colour, grating colour, and vector-form refraction with a per-ray total-internal-reflection mask — with the dispersion of real glasses.
向く: 外観のシミュレーション、照明設計、透明体を通した計測の補正。
向かない: ★バッチで屈折させるときは refract_rays を使ってください。refract は 1 本でも全反射があるとバッチ全体が None になります(2026-09-08 まで、refract の説明はこのことに触れながら refract_rays の存在を書いていませんでした)。
import fullseye as fs
r = fs.ledger.fresnel_dielectric(0.5, n1=1.0, n2=1.5168) # cos(入射角)=0.5
print('反射率 =', r)
fresnel_dielectric → thin_film_reflectance → thin_film_rgb
fresnel_dielectric で界面の反射率(s/p/無偏光)→ thin_film_reflectance で薄膜干渉の分光反射率 → thin_film_rgb で法線地図の上に色として載せる。
金属は fresnel_conductor(n + ik)、偏光板で消える角は brewster_angle_deg、回折格子の色は grating_rgb、光線の屈折は refract_rays(全反射マスクつき)。
refract は 1 本でも全反射があるとバッチ全体が None(refract_rays を使う)。fresnel_dielectric は実屈折率のみ —— 金属は fresnel_conductor。
波長 [nm]・屈折率は無次元、角度は cos で渡す。画素校正は不要。
fresnel_dielectric / thin_film_reflectance / grating_rgb / refract_raysglass_and_mirror_optics、appearance_structural_colour