二進数コードで弾き語り

情報系大学生の徒然技術ブログ。

レンダラー開発のための測光学覚書Vol.1 立体角について

 どうも。大学生の勉強の予習になればと、レンダラー制作に向けて少しずつ勉強を始めている、drumathです。実際わからないことだらけなので、『レンダラー開発のための測光学覚書』というシリーズで、学習してきたことを整理していきたいと思います。もしよろしければ、解釈や式の導出などが間違っていた場合に教えていただけるとありがたいです。
 今回は本格的に光学の分野には触れませんが、物理量の基本となる立体角についてまとめていきます。

立体角とは?

ラジアンの定義を振り返る

 高校になっていきなり導入された弧度法ですが、なぜ\displaystyle 60^\circ = \frac{\pi}{3}となるのか、説明できますか?「簡単だよ!」という方は飛ばしていただいて構いません。
弧度法の定義は\displaystyle \theta = \frac{l}{r}で、\displaystyle \thetaは弧度法での角度、単位はラジアンです。\displaystyle l\displaystyle \thetaでの弧の長さ。\displaystyle rは半径です。つまり、円周の長さと半径の比であらわされる値なのです。とても直観的だと思いませんか?対して度数法の場合、一周を360個に分けた内、どれくらいを占めるかという、とてもあいまいな値です。一周が360°なんて一体だれが考えたのでしょうか。古代文明の60進法からですよね、たぶん。
 数学Ⅲを習うと、弧度法を使うメリットがわかります。詳しくはほかの記事に書いてあることを参照してほしいのですが、\displaystyle (\sin x)' = \cos xのような三角関数微分は弧度法を使うことによって、きれいな形で表されます。個人的な解釈なのですが、三角関数自体、直角三角形の辺の比で表される関数なので、弧と半径の比という定義はなじみやすいのではないかと考えます。

平面から立体へ

 少し話は外れましたが、要は円周の長さと半径の比がラジアンなわけです。平面角では長さを使ったので、立体角では面積を使ってはいかかでしょうか。ということで立体角の定義は

{ \displaystyle
\omega  = \frac{A}{r^2}
}
となります。 Aは面積で、 rは円の半径です。立体角の単位は「ステラジアン」といいます。
定義に沿うと、全球の立体角は

 \begin{align} \displaystyle
\omega &= \frac{A}{r^2} \\\ &=\frac{4 \pi r^2}{r^2} \\\ &= 4 \pi
\end{align}
となります。下のようなイメージです。
f:id:drumath:20180218152709p:plain

微小立体角を求める

設定

 光の物理量は微分積分のオンパレードです。ですので、ここで微小立体角、 d \omegaを決めたいと思います。まず先ほどの画像の領域について、横が a、縦が bの微小長方形で、立体角が \omegaと定めます。
f:id:drumath:20180218153603p:plain
当然、


{ \displaystyle
 \omega = \frac{ab}{r^2} \tag{1}
}
となりますね。

微分だ!

さて、では a bが微小な量だとします。そうすると立体角 \omegaも微小な量になり、長方形領域は点のように小さくなります。ここで領域の方向を以下のように定めます。
f:id:drumath:20180218155923p:plain
ではまず微小 aについて考えましょう。長さ aである横の辺を含む円周の長さは弧度法の定義から求めることができるでしょう。弧度法での円周の長さ l


{ \displaystyle
l = r\theta
}
と表わせます。また、今回求めようとしている円の半径は r\sin \thetaですので、円周の長さは 2\pi r \sin \thetaです。いったん図にして整理しましょう。
f:id:drumath:20180218220530p:plain
では、なぜ円周の長さは 2\pi r \sin \thetaなのでしょうか。それは中心角が \phiである扇形の弧の長さが r\phi \sin \thetaと表わされ、今は \phi = 2\piの場合を考えているからです。そして、微小 aは、この円周が微小 \phiの場合を考えていることがわかります。よって

 \begin{align} \displaystyle
a &= dl \\\ &= r\sin \theta d \phi \tag{2}
\end{align}
ということになります。
すみません、たぶんもっとうまい説明があるし、なにしろすごく遠回りな考えなのはわかっていますが、私が思考した結果がこれなのです。引き続き bについても同じような導出を行います。このやり方が嫌だという人は読み飛ばしてください。申し訳ございません。
さて、続きを見ていきましょう。長さ bである縦の辺を含む円は、半径 rですので、 2\pi rとなりますね。図にするとこんな感じ。
f:id:drumath:20180218222630p:plain
 aの長さを求めたときのように、この 2\pi rというのは r\thetaにおいて \theta = 2\piだからでした。よって

 \begin{align} \displaystyle
b &= dl \\\ &= rd \theta \tag{3}
\end{align}
やっと微小領域の面積が求まりますね。式(2)と式(3)を式(1)に代入します。すると、

 \begin{align} \displaystyle
d\omega &= \frac{ab}{r^2} \\\ &= \frac{r \sin \theta d \phi \times r d \theta}{r^2} \\\ &= \sin \theta d \theta d \phi
\end{align}
となり、無事、微小立体角を導くことができました!

終わりに

今回は以上になります。立体角の概念は光学において基本的なものになりますが、私は学習当初あまりイメージできなかったので、数学Ⅲを習っている高校生にわかるように記事を書いたつもりです。最後まで読んでいただき。ありがとうございました。

参考文献

qiita.com