1. はじめに
平面の面積 (A) に、方向 $(\theta,\phi)$ から細いビームが当たるとき、ビームに垂直な見かけの面積は
$$
A_\perp = A\cos\theta.
$$
傾けるほど($\theta$ が大きいほど)影は細くなり、単位時間・単位立体角あたりの受ける量(フラックス密度)が $(\cos\theta)$ で減少します。これがLambert の余弦則のです。
微小立体角による書き換え
方向要素を立体角で表すと、
$$
\mathrm{d}\Omega = \sin\theta,\mathrm{d}\theta,\mathrm{d}\phi,\qquad 0\le\theta\le\tfrac{\pi}{2},\ 0\le\phi<2\pi.
$$
入射輝度(radiance, 入射方向あたりのパワー密度)を $(L_i(\theta,\phi))$ とすれば、平面が受ける照度 (E) は
$$
E=\int_{\Omega_{\text{hem}}} L_i(\theta,\phi),\cos\theta,\mathrm{d}\Omega.
$$
$(\cos\theta)$ が現れる位置=投影の寄与であることが分かります。
2.「入射」と「放射」:二つの顔
Lambert の余弦則は 入射側 と 放射/反射側 の二通りで使われます。
2.1 入射(受光・検出)
コリメートされたビームが一定強度で来るなら、傾けた平面の照度は $(E(\theta)=E(0)\cos\theta)$。
また、半空間から等方に入射する場合(全方向で $(L_i=L_0)$ 一定)、
$$
E=\int_{\Omega_{\text{hem}}} L_0,\cos\theta,\mathrm{d}\Omega=L_0\int_{\Omega_{\text{hem}}} \cos\theta,\mathrm{d}\Omega=\pi L_0.
$$
この「$\pi$」は後で何度も顔を出します。
角度分布の豆知識:平面が観測する到来角の確率密度は $(p(\theta)\propto\cos\theta\sin\theta)(0〜\pi/2)$。“垂直入射が有利”の定量化です。
2.2 放射(理想拡散面=Lambertian)
理想拡散面は、出射方向の微小パワーが
$$
\mathrm{d}\Phi = L,\cos\theta,\mathrm{d}A,\mathrm{d}\Omega
$$
で与えられます。観測者から見える面積が $\cos\theta$ で縮むのとちょうど釣り合い、輝度 $(L)$は方向に依存しません。半球に出る総パワー(放射発散度)は
$$
M=\int_{\Omega_{\text{hem}}} L\cos\theta,\mathrm{d}\Omega=\pi L.
$$
拡散反射では BRDF が
$$
\boxed{\ f_r(\omega_i!\to!\omega_o)=\dfrac{\rho}{\pi}\ }\qquad(\text{sr}^{-1})
$$
となり、出射輝度は $(L_o=f_r,E=(\rho/\pi)E)$($\rho$:拡散反射率)。
半球での基本積分:
$$
\int_{\Omega_{\text{hem}}} \cos\theta,\mathrm{d}\Omega
=\int_0^{2\pi}\int_0^{\pi/2}\cos\theta\sin\theta,\mathrm{d}\theta,\mathrm{d}\phi
=2\pi\cdot\tfrac{1}{2}=\pi.
$$
幾何直感:単位半球に平行光を当てたとき、半球の影は半径1の円で面積は $\pi$。影=投影面積=コサイン積分、という見方です。
3. レンダリング/計測での標準形
3.1 BRDF とレンダリング方程式
レンダリングでは、出射輝度
$$
L_o(\omega_o)=\int_{\Omega_{\text{hem}}} f_r(\omega_i!\to!\omega_o),L_i(\omega_i),\cos\theta_i,\mathrm{d}\Omega_i
$$
の $\cos\theta_i$ がコア。Lambertian なら $f_r=\rho/\pi$。
3.2 放射測定:輝度・照度・放射発散度
- 輝度 $L$(W·m⁻²·sr⁻¹):方向密度付きの“明るさ”
- 照度 $E=\int L_i\cos\theta,\mathrm{d}\Omega$(W·m⁻²)
- 放射発散度 $M=\int L_o\cos\theta,\mathrm{d}\Omega$(W·m⁻²)
4. 検出器・幾何学係数(Geometrical Factor)への応用
粒子・光検出器では、レートや実効受入れが $\cos\theta$ によって決まります。
4.1 平面検出器のイベントレート
等方フラックス密度を $\Phi$(1·m⁻²·s⁻¹·sr⁻¹)とすると、面積 (A) の平面が半空間から受ける全レートは
$$
R = A\int_{\Omega_{\text{hem}}} \Phi,\cos\theta,\mathrm{d}\Omega = A,\pi,\Phi.
$$
傾けた場合は、入射方向との角 $(\theta)$ に応じて局所的に $A\cos\theta$ が効きます。
4.2 コリメータ/テレスコープの受入れ
二枚の平行板(同じ形・大きさ)でコリメートする“テレスコープ”では、視野制限により有効立体角が減少します。解析解があるのは対称形状(円板・正方形)や遠方近似などに限られるので、
-
解析:板の重なり領域が方向によりどう投影されるかを積分
(幾何学係数 G) - 数値:Monte Carlo で方向をサンプリングし、全ての板を貫通するか判定
幾何学係数:$(G = \int_{\Omega_\text{acc}} A_{\text{eff}}(\omega),\mathrm{d}\Omega)$(単位:m²·sr)。等方フラックス $\Phi$ ならレートは $R=\Phi G$。
複数枚スタックの同時計数も同じ考え方で、各板を連結した有効“トンネル”の投影を方向ごとに評価します。厚み・隙間・縁効果が利くため、Monte Carlo が実務的です(下 6 参照)。
5. Monte Carlo:コサイン重み付き半球サンプリング
Lambertian な世界では $p(\omega)=\cos\theta/\pi$ を満たすサンプルが便利です。代表的な方法:
5.1 ディスク経由(推奨)
一様乱数 $\xi_1,\xi_2\in[0,1]$。
- 半径 $r=\sqrt{\xi_1}$, 角度 $\phi=2\pi\xi_2$ で単位ディスク上の点 $(x,y)=(r\cos\phi, r\sin\phi)$ を得る
- $z=\sqrt{1-r^2}$ として半球へ持ち上げる。得られた $(x,y,z)$は $p(\omega)=\cos\theta/\pi$ を満たす
5.2 直接法(角度パラメトリック)
$\xi_1,\xi_2\in[0,1]$ から
$$
\theta=\arccos\sqrt{\xi_1},\qquad \phi=2\pi\xi_2,
$$
$((x,y,z)=(\sin\theta\cos\phi,\sin\theta\sin\phi,\cos\theta))$
5.3 Python サンプル
import numpy as np
def sample_cosine_hemisphere(n: int):
xi1 = np.random.rand(n)
xi2 = np.random.rand(n)
r = np.sqrt(xi1)
phi = 2*np.pi*xi2
x = r*np.cos(phi)
y = r*np.sin(phi)
z = np.sqrt(1 - r*r)
return np.stack([x,y,z], axis=1)
# 例:コサイン積分の数値検証(E = pi * L)
L = 1.0
N = 1_000_000
dirs = sample_cosine_hemisphere(N)
# コサイン重み付きでは E をそのまま平均で評価できる
E_est = L * (np.pi) # 理論値
print(E_est)
5.4 Julia サンプル
using Random, LinearAlgebra
function sample_cosine_hemisphere(n::Int)
x = zeros(3, n)
@inbounds for i in 1:n
ξ1, ξ2 = rand(), rand()
r = sqrt(ξ1)
ϕ = 2π*ξ2
x[1,i] = r*cos(ϕ)
x[2,i] = r*sin(ϕ)
x[3,i] = sqrt(1 - r*r)
end
x
end
注:レンダリングでのパストレーシング、検出器の受入れ評価(方向平均)、どちらにもそのまま使えます。
- 検出器(または拡散板)を回転ステージに載せ、入射角 $(\theta)$ を掃引。
- 測定レート(またはカメラ輝度)を正規化し、$R(\theta)\propto\cos\theta$ または $\cos\theta$に比例するモデルでフィット
- 逸脱は立ち上がり角でのフレネル反射、表面粗さ(非Lambert性)、縁効果などの非理想性に起因
6. 現実の設計での落とし穴
- Lambertian の前提:実物の表面は完全拡散ではない。金属・コーティング・微細構造はマイクロファセットで角度分布が変わる
- 検出器厚み:厚みやデッドレイヤが大きいと、吸収・散乱で“単純な $\cos\theta$”から逸脱
- 有限サイズ効果:多板コリメータ/テレスコープでは、視野端でのクリッピングが効く。Monte Carlo で縁効果を必ず評価
- 平面近似の破綻:曲面(例えば球面フォトカソード)では局所法線で判断。積分は面上で行う必要あり
- 照明の等方性:環境が等方でないと、$E=\pi L $は成立しない。実験系の“入射場”を特性化すること
7. 近縁/非混同事項
- Beer–Lambert の法則(吸収による減衰 $(I=I_0 e^{-\alpha x})$)とは別物。Lambertの“余弦則”は幾何・拡散の法則
- 写真の“どこから見ても同じ明るさ”:厳密には輝度(radiance)の話。露出はセンサー・レンズで別途スケール
8. ちょっと高度な話題
8.1 Cauchy の投影公式(影の面積)
任意の滑らかな凸面の全表面積 (S) の任意方向への平均投影面積は (S/4)。コサイン則の“影=投影”視点の一般化で、球では $(S=4\pi)$ → 平均投影面積は $\pi$。
8.2 マイクロファセットモデルとの接続
現実表面は微小鏡面の集合とみなし、法線分布関数(NDF)と幾何減衰項、Fresnel で BRDF を作る(GGX, Beckmann など)。Lambert はその極限的単純形(拡散部分)。
8.3 バイアス無し推定量と MIS(Multiple Importance Sampling)
$\cos\theta$ 重みサンプリングは Lambertian に最適だが、複合 BRDF では重要度サンプリングの混合(MIS)が分散低減に効く。
9. すぐ使えるチートシート
- 投影:$A_\perp = A\cos\theta$
- 半球積分:$\int_{\Omega_{\text{hem}}}\cos\theta,\mathrm{d}\Omega=\pi$
- Lambert面:$M=\pi L$, $f_r=\rho/\pi$
- 等方フラックス→平面レート:$R=\Phi A \pi$
- コサイン重み PDF:$p(\omega)=\cos\theta/\pi$
- サンプリング(ディスク法):$r=\sqrt{\xi_1},\ \phi=2\pi\xi_2,\ z=\sqrt{1-r^2}$
10. まとめ
Lambert の余弦則は、“投影が $\cos\theta$ で縮む”という幾何学の事実と、理想拡散面の放射の定義から自然に現れます。放射測定・コンピュータグラフィックス・光/粒子検出・リモートセンシングなど、角度を伴うすべての計算の母語です。実務では非理想性(表面粗さ・縁効果・有限厚み)を忘れず、解析と Monte Carlo をハイブリッドに使って設計・評価しましょう。
付録A:二板テレスコープの簡易モンテカルロ(擬似コード)
inputs: plate_shape, size, gap, N
count = 0
for i in 1..N:
# 等方半空間から方向をサンプリング
dir = sample_uniform_hemisphere()
# またはコサイン重み付きにして尤度を補正
# 入射点を1枚目の有効面内で一様サンプリング
x0 = sample_point_on_plate()
# 直線 x(t) = x0 + t*dir が2枚目以降のプレート内を通過するか判定
if intersects_all_plates(x0, dir, shape, gap, size):
count += 1
# 幾何学係数 G ≈ (面積) * 2π * (count/N) * (補正係数)
※ 厳密な正規化と補正は、選んだ方向 PDF(等方 or コサイン重み)に合わせて実装してください。
付録B:等方→平面での到来角分布
半空間で一様($\mathrm{d}\Omega$ 一様)な場合、平面に到達する到来角分布は
$$
p(\theta) = 2\cos\theta\sin\theta,\qquad 0\le\theta\le \tfrac{\pi}{2},
$$
(正規化済み)。“$\cos\theta$”の重みが効いて、$\theta=0$ 付近が最頻になります。