[GAMES101 study notes] Angle and solid angle

[GAMES101 study notes] Angle and solid angle
FesianXu 2020/09/16 at UESTC

Preface

This series of articles is the study notes of the author in the process of learning GAMES101 [1]. If there is any error, please contact and point it out. Please indicate the source for reprinting, thank you.

∇ \nabla ∇Contact information:

email : [email protected]

QQ: 973926198

github: https://github.com/FesianXu


Solid angle

The modeling of light propagation in computer graphics is a very important subject. We consider that the propagation of light in actual physical space is a process of spatial radiation, so we need to define the concept of "angle" in three-dimensional space. Of course, here The angle of is different from the angle in the two-dimensional case, which is easy to define. First, let’s review the definition of the angle on a two-dimensional plane. Given a circle, as shown in Fig 1 (a), we define the ratio of the circumference to the corresponding radius as the angle (radians), that is:
θ = lr ( 1) \theta = \dfrac{l}{r} \tag{1}θ=rl(1)

Following the definition of angle in two-dimensional space, we define the solid angle in three-dimensional space (Solid angle), as shown in equation (2).
Ω = A r 2 (2) \Omega = \frac{A}{r^2} \tag{2}Ω=r2A( 2 )
whereAAA is the area enclosed by the cone on the spherical surface, as shown in Fig 1 (b).

solid_angle_and_angle

Fig 1. A schematic diagram of the angle definition of a two-dimensional plane is shown in (a); the definition of a solid angle in a three-dimensional space is shown in (b).

The surface area in equation (2) is not as easy to calculate as the perimeter. We need to use calculus to think about how to calculate it. As shown in Fig 2, we use spherical coordinates (θ, ϕ, r) (\theta,\phi,r)( θ ,ϕ ,r ) to represent any point on the sphere, then we consider(d θ, d ϕ) (\mathrm{d}\theta, \mathrm{d}\phi)(dθ,d ϕ ) The area of ​​the surface surrounded by the change, because this change is very small, we can regard the surface as a side length ofH × WH \times WH×W rectangle. As shown in Fig. 3, we can consider itsHHH is the base of an isosceles triangle.

solid_angle_differential

Fig 2. The infinitesimal element of the curved surface enclosed by the solid angle.

Then through a simple geometric relationship, we have:
H = 2 r sin ⁡ (d θ 2) (3) H = 2r\sin(\dfrac{\mathrm{d}\theta}{2}) \tag{3}H=2 rwithout (2dθ)( 3 )
Because there is an equivalent infinitesimal relationship:
sin ⁡ (d θ 2) ∼ d θ 2 (4) \sin(\dfrac{\mathrm{d}\theta}{2}) \sim \dfrac{\mathrm{ d}\theta}{2} \tag{4}without (2dθ)2dθ( 4 )
Therefore, the equations (3) and (4) are combined:
H = rd θ (5) H = r \mathrm{d}\theta \tag{5}H=rdθ(5)

H

Fig 3. The rectangle H can be regarded as the base of an isosceles triangle.

In the same way, we can find the WW of the rectangleW为 :
W = r sin ⁡ (θ) d ϕ (6) W = r \ sin (\ theta) \ mathrm {d} \ phi \ tag {6}W=rsin ( θ ) d ϕ( 6 )
那么 有 :
d A = H × W = (rd θ) (r sin ⁡ (θ) d ϕ) = r 2 sin ⁡ (θ) d ϕ d θ (7) \ mathrm {d} A = H \ times W = (r \ mathrm {d} \ theta) (r \ sin (\ theta) \ mathrm {d} \ phi) = r ^ 2 \ sin (\ theta) \ mathrm {d} \ phi \ mathrm { d} \ theta \ tag {7}d A=H×W=(rdθ)(rsin ( θ ) d ϕ )=r2sin ( θ ) d ϕ d θ( 7 )
Then the micro-element of the solid angle is:
d Ω = d A r 2 = sin ⁡ (θ) d θ d ϕ (8) \mathrm{d}\Omega = \dfrac{\mathrm{d}A}{ r^2} = \sin(\theta)\mathrm{d}\theta\mathrm{d}\phi \tag{8}dΩ=r2d The=sin ( θ ) d θ d ϕ( 8 )
Then, by fully integrating the solid angle element at this time, we can get the maximum solid angle range as:
Ω = ∫ S 2 d Ω = ∫ 0 2 π ∫ 0 π sin ⁡ (θ) d θ d ϕ = 4 π (9) \Omega = \int_{S^2} \mathrm{d}\Omega = \int_{0}^{2\pi} \int_{0}^{\pi} \sin(\theta )\mathrm{d}\theta\mathrm{d}\phi = 4\pi \tag{9}Ω=S2dΩ=02 p0Fr.sin ( θ ) d θ d ϕ=4 π(9)

The angle range of the two-dimensional plane is up to 2 π 2 \pi2 π


Reference

[1]. https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html

Guess you like

Origin blog.csdn.net/LoseInVain/article/details/108630648