前言
上一篇已经介绍过一维、三角形、四面体区域的积分。如果积分区域为曲线图形,就要对区域分割成大量的近似三角形(或四面体),计算量将陡增。本篇主要介绍最常见的曲线图形-圆/球 为区域的积分,进入多维积分的世界。
圆周积分
∮
(
R
)
=
∮
C
f
(
x
,
y
)
d
s
≈
C
N
∑
k
=
1
N
f
(
R
cos
2
π
i
k
N
,
R
sin
2
π
i
k
N
)
\oint(R)=\oint_{C} f(x, y) ds \approx \frac{C}{N} \sum_{k=1}^N f(R\cos \frac{2\pi i k}{N},R\sin \frac{2\pi i k}{N})
∮(R)=∮Cf(x,y)ds≈NCk=1∑Nf(RcosN2πik,RsinN2πik)
其中积分区域C为半径为R的圆周,其周长记为
C
C
C(实际上为
2
π
R
2\pi R
2πR)
圆周积分较为简单,只需要在圆周上等距离采样,且权重都相等。
当采样数为
N
N
N时,上面的公式的精度为
N
−
1
N-1
N−1.
另外,高斯规则结果等同于等距规则,不再介绍。

圆内积分
I
2
(
R
)
=
∬
D
f
(
x
,
y
)
d
S
≈
S
D
∑
i
=
1
n
A
i
∮
(
r
i
R
)
I_2(R)=\iint_D f(x,y)dS \approx S_D \sum_{i=1}^n A_i \oint(r_iR)
I2(R)=∬Df(x,y)dS≈SDi=1∑nAi∮(riR)
其中积分区域D为半径为R的圆,其面积记为
S
D
S_D
SD(实际上为
π
R
2
\pi R^2
πR2)
∮
(
R
)
\oint(R)
∮(R)表示区域为半径R的圆的积分,如果要求
I
2
(
R
)
I_2(R)
I2(R)的精度为p,那可以用精度为p的数值积分值作为代替。
下面为了表示方便,将坐标
(
x
,
y
)
(x,y)
(x,y)记为对应的复数值
x
+
y
i
x+yi
x+yi,并且令
f
(
x
+
y
i
)
=
f
(
x
,
y
)
f(x+yi)=f(x,y)
f(x+yi)=f(x,y)
同时记第k个N次单位根为
w
N
k
=
e
2
π
i
k
/
N
w^k_N=e^{2\pi ik/N}
wNk=e2πik/N
牛顿-柯斯特规则
| 层数 | 精度 | r | A | 样本数 |
|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 1 |
| 2 | 3 | 0 1 0\\1 01 | 1 / 2 1 / 2 1/2\\1/2 1/21/2 | 5 |
| 3 | 5 | 0 1 / 2 1 0\\1/2\\1 01/21 | − 1 / 6 8 / 9 5 / 18 -1/6\\8/9\\5/18 −1/68/95/18 | 13 |
| 4 | 7 | 0 1 / 3 2 / 3 1 0\\1/3\\2/3\\1 01/32/31 | 5 / 16 − 9 / 32 63 / 80 29 / 160 5/16\\-9/32\\63/80\\29/160 5/16−9/3263/8029/160 | 25 |
| 5 | 9 | 0 1 / 4 2 / 4 3 / 4 1 0\\1/4\\2/4\\3/4\\1 01/42/43/41 | − 47 / 90 704 / 675 − 232 / 675 1088 / 1575 1249 / 9450 -47/90\\704/675\\-232/675\\1088/1575\\1249/9450 −47/90704/675−232/6751088/15751249/9450 | 41 |
| 6 | 11 | 0 1 / 5 2 / 5 3 / 5 4 / 5 1 0\\1/5\\2/5\\3/5\\4/5\\1 01/52/53/54/51 | 8081 / 6912 − 40375 / 20736 54625 / 36288 − 43375 / 96768 269125 / 435456 89581 / 870912 8081/6912\\-40375/20736\\54625/36288\\-43375/96768\\269125/435456\\89581/870912 8081/6912−40375/2073654625/36288−43375/96768269125/43545689581/870912 | 61 |
备注:
- 在此规则下,最外2层的符号为正,最外第3次变负号开始,每往内一层都改变符号。
- 总层数增加时,最外层的权重为正,但向0递减。
- 采样点如下,其中权重值按 紫红>红>橙>黄>0>绿>蓝 来设置颜色。

高斯规则
r 是 Zernike多项式 的零点,且有:
Z
n
(
x
)
=
∑
k
=
0
⌊
n
/
2
⌋
(
−
1
)
k
(
n
−
k
)
!
x
n
−
2
k
k
!
(
⌈
n
2
⌉
−
k
)
!
(
⌊
n
2
⌋
−
k
)
!
=
∑
k
=
0
n
Z
n
k
x
k
A
2
n
(
x
)
=
2
Z
n
′
(
x
)
∑
k
=
0
n
−
1
∑
m
=
1
n
−
k
Z
2
n
2
m
+
2
k
m
x
2
k
+
1
A
2
n
+
1
(
x
)
=
2
Z
n
′
(
x
)
∑
k
=
0
n
−
1
∑
m
=
1
n
−
k
Z
2
n
+
1
2
m
+
2
k
+
1
m
+
1
x
2
k
,
(
x
≠
0
)
A
2
n
+
1
(
0
)
=
4
(
n
+
1
)
2
Z_n(x)=\sum_{k=0}^{\lfloor n/2\rfloor}\frac{(-1)^k(n-k)!\ x^{n-2k}}{k!(\lceil \frac{n}{2} \rceil-k)!( \lfloor \frac{n}{2}\rfloor -k)!}=\sum_{k=0}^nZ_n^k x^k\\ A_{2n}(x)=\frac{2}{Z'_n(x)}\sum_{k=0}^{n-1}\sum_{m=1}^{n-k}\frac{Z_{2n}^{2m+2k}}{m}x^{2k+1}\\ A_{2n+1}(x)=\frac{2}{Z'_n(x)}\sum_{k=0}^{n-1}\sum_{m=1}^{n-k}\frac{Z_{2n+1}^{2m+2k+1}}{m+1}x^{2k},(x\ne 0)\\A_{2n+1}(0)=\frac{4}{(n+1)^2}
Zn(x)=k=0∑⌊n/2⌋k!(⌈2n⌉−k)!(⌊2n⌋−k)!(−1)k(n−k)! xn−2k=k=0∑nZnkxkA2n(x)=Zn′(x)2k=0∑n−1m=1∑n−kmZ2n2m+2kx2k+1A2n+1(x)=Zn′(x)2k=0∑n−1m=1∑n−km+1Z2n+12m+2k+1x2k,(x=0)A2n+1(0)=(n+1)24
这里有
- A n ( x ) = 4 ( 1 − x 2 ) F n ′ ( x ) 2 , A 2 n − 1 ( 0 ) = 1 / n 2 A_n(x)=\frac{4}{(1-x^2)F'_n(x)^2},A_{2n-1}(0)=1/n^2 An(x)=(1−x2)Fn′(x)24,A2n−1(0)=1/n2
- ∫ 0 1 x Z n ( x ) Z n + 2 k ( x ) d x = 0 , ( k ∈ Z , k ≠ 0 ) \int_0^1 x Z_n(x) Z_{n+2k}(x) dx=0,(k\in Z,k\ne 0) ∫01xZn(x)Zn+2k(x)dx=0,(k∈Z,k=0)
- ∫ 0 1 x Z n ( x ) 2 d x = 1 2 n + 2 \int_0^1 x Z_n(x)^2 dx=\frac{1}{2n+2} ∫01xZn(x)2dx=2n+21
这里要求 N ≥ 2 n N \ge 2n N≥2n, 此时公式的精度为 2 n − 1 2n-1 2n−1。如果 N = 2 n − 1 N=2n-1 N=2n−1,则公式精度为 2 n − 2 2n-2 2n−2。
例如 n=3时,取N=6,有
I
≈
S
D
[
1
4
f
(
0
)
+
3
4
×
6
∑
k
=
1
6
f
(
6
3
e
2
π
i
k
/
6
)
]
I \approx S_D [\frac{1}{4}f(0)+ \frac{3}{4 \times 6}\sum_{k=1}^{6}f( \frac{\sqrt{6}}{3}e^{2\pi ik/6})]
I≈SD[41f(0)+4×63k=1∑6f(36e2πik/6)]
需要7个采样点,精度为5,即
f
(
x
,
y
)
f(x,y)
f(x,y)的次数不大于5时,公式的误差为0。
另外,因为N并不固定,当n=4时,还可以有以下形式:
I
≈
S
D
[
1
2
×
8
∑
k
=
1
8
f
(
3
−
3
6
e
2
π
i
k
/
8
)
+
1
2
×
9
∑
k
=
1
9
f
(
3
+
3
6
e
2
π
i
k
/
9
)
]
I \approx S_D [\frac{1}{2 \times 8}\sum_{k=1}^{8}f( \sqrt{\frac{3-\sqrt{3}}{6}}e^{2\pi ik/8})+\frac{1}{2 \times 9}\sum_{k=1}^{9}f( \sqrt{\frac{3+\sqrt{3}}{6}}e^{2\pi ik/9})]
I≈SD[2×81k=1∑8f(63−3e2πik/8)+2×91k=1∑9f(63+3e2πik/9)]
但这样就需要采集8+9=17个样本。而且因为不论N取多大,精度都不会提升,所以不如直接取(8,8),这样就需要最少的样本数16。
更多数值如下:
| n | Zernike多项式 | r i r_i ri | A i A_i Ai | 最少采样数 | 精度 |
|---|---|---|---|---|---|
| 1 | Z = r Z=r Z=r | 0 | 1 | 1 | 1 |
| 2 | Z = 2 r 2 − 1 Z=2r^2-1 Z=2r2−1 | 2 / 2 = 0.7071067812 \sqrt{2}/2=0.707 106 781 2 2/2=0.7071067812 | 1 | 4 | 3 |
| 3 | Z = 3 r 3 − 2 r Z=3r^3-2r Z=3r3−2r | 0 6 / 3 = 0.8164965809 0\\\sqrt{6}/3=0.816 496 580 9 06/3=0.8164965809 | 1 / 4 3 / 4 1/4\\3/4 1/43/4 | 7 | 5 |
| 4 | Z = 6 r 4 − 6 r 2 + 1 Z=6r^4-6r^2+1 Z=6r4−6r2+1 | ( 3 − 3 ) / 6 = 0.4597008434 ( 3 + 3 ) / 6 = 0.8880738340 \sqrt{(3-\sqrt{3})/6}=0.459 700 843 4\\\sqrt{(3+\sqrt{3})/6}=0.888 073 834 0 (3−3)/6=0.4597008434(3+3)/6=0.8880738340 | 1 / 2 1 / 2 1/2\\1/2 1/21/2 | 16 | 7 |
| 5 | Z = 10 r 5 − 12 r 3 + 3 r Z=10r^5 - 12r^3 + 3r Z=10r5−12r3+3r | 0 ( 6 − 6 ) / 10 = 0.5958615827 ( 6 + 6 ) / 10 = 0.9192110608 0\\\sqrt{(6-\sqrt{6})/10}=0.595 861 582 7\\\sqrt{(6+\sqrt{6})/10}=0.919 211 060 8 0(6−6)/10=0.5958615827(6+6)/10=0.9192110608 | 1 / 9 = 0.1111111111 ( 16 + 6 ) / 36 = 0.5124858262 ( 16 − 6 ) / 36 = 0.3764030627 1/9=0.111 111 111 1\\(16+\sqrt{6})/36=0.512 485 826 2\\(16-\sqrt{6})/36=0.376 403 062 7 1/9=0.1111111111(16+6)/36=0.5124858262(16−6)/36=0.3764030627 | 21 | 9 |
| 6 | Z = 20 r 6 − 30 r 4 + 12 r 2 − 1 Z=20r^6-30r^4+12r^2-1 Z=20r6−30r4+12r2−1 | ( 5 − 15 ) / 10 = 0.3357106870 2 / 2 = 0.7071067812 ( 5 + 15 ) / 10 = 0.9419651451 \sqrt{(5-\sqrt{15})/10}=0.335 710 687 0\\\sqrt{2}/2=0.707 106 781 2\\\sqrt{(5+\sqrt{15})/10}=0.941 965 145 1 (5−15)/10=0.33571068702/2=0.7071067812(5+15)/10=0.9419651451 | 5 / 18 = 0.2777777777 4 / 9 = 0.4444444444 5 / 18 = 0.2777777777 5/18=0.277 777 777 7\\4/9=0.444 444 444 4\\5/18=0.277 777 777 7 5/18=0.27777777774/9=0.44444444445/18=0.2777777777 | 36 | 11 |
| 7 | Z = 35 r 7 − 60 r 5 + 30 r 3 − 4 r Z=35 r^7 - 60 r^5 + 30 r^3 - 4 r Z=35r7−60r5+30r3−4r | 0 0.4608042298 0.7684615381 0.9546790248 0\\0.460 804 229 8\\0.768 461 538 1\\0.954 679 024 8 00.46080422980.76846153810.9546790248 | 1 / 16 = 0.0625 0.3288443200 0.3881934688 0.2204622112 1/16=0.0625\\0.328 844 320 0\\0.388 193 468 8\\0.220 462 211 2 1/16=0.06250.32884432000.38819346880.2204622112 | 43 | 13 |
| 8 | Z = 70 r 8 − 140 r 6 + 90 r 4 − 20 r 2 + 1 Z=70r^8-140r^6+90r^4-20r^2+1 Z=70r8−140r6+90r4−20r2+1 | 0.2634992300 0.5744645143 0.8185294874 0.9646596062 0.263 499 230 0\\0.574 464 514 3\\0.818 529 487 4\\0.964 659 606 2 0.26349923000.57446451430.81852948740.9646596062 | ( 18 − 30 ) / 72 = 0.1739274226 ( 18 + 30 ) / 72 = 0.3260725774 ( 18 + 30 ) / 72 = 0.3260725774 ( 18 − 30 ) / 72 = 0.1739274226 (18-\sqrt{30})/72=0.173 927 422 6\\(18+\sqrt{30})/72=0.326 072 577 4\\(18+\sqrt{30})/72=0.326 072 577 4\\(18-\sqrt{30})/72=0.173 927 422 6 (18−30)/72=0.1739274226(18+30)/72=0.3260725774(18+30)/72=0.3260725774(18−30)/72=0.1739274226 | 64 | 15 |

球面积分
∯
(
R
)
=
∯
D
f
(
x
,
y
)
d
S
=
S
D
∑
k
=
1
N
A
k
f
(
x
k
,
y
k
,
z
k
)
\oiint(R)=\oiint_{D} f(x, y) dS= S_D \sum_{k=1}^N A_kf(x_k,y_k,z_k)
∬(R)=∬Df(x,y)dS=SDk=1∑NAkf(xk,yk,zk)
其中积分区域D为半径为R的球面,其面积记为
S
D
S_D
SD(实际上为
4
π
R
2
4\pi R^2
4πR2)
牛顿-柯斯特规则
| 精度 | 经度 | 纬度 | 权重 | 最少样本数 |
|---|---|---|---|---|
| 3 | 2 π k / 4 2 \pi k/4 2πk/4 | 0 ± π / 2 0\\\pm \pi/2 0±π/2 | 2 / 3 1 / 6 2/3\\1/6 2/31/6 | 6 |
| 5 | 2 π k / 6 2 \pi k/6 2πk/6 | 0 ± π / 4 ± 2 π / 4 0\\\pm \pi/4\\\pm 2\pi/4 0±π/4±2π/4 | 2 / 5 = 0.4 4 / 15 = 0.2666667 1 / 30 = 0.0333333 2/5=0.4\\4/15=0.266 6667\\1/30=0.033 3333 2/5=0.44/15=0.26666671/30=0.0333333 | 20 |
| 7 | 2 π k / 8 2 \pi k/8 2πk/8 | 0 ± π / 6 ± 2 π / 6 ± 3 π / 6 0\\\pm \pi/6\\\pm 2\pi/6\\\pm 3\pi/6 0±π/6±2π/6±3π/6 | 82 / 315 = 0.2603175 8 / 35 = 0.2285714 8 / 63 = 0.1269841 1 / 70 = 0.0142857 82/315=0.260 3175\\8/35=0.228 5714\\8/63=0.126 9841\\1/70=0.014 2857 82/315=0.26031758/35=0.22857148/63=0.12698411/70=0.0142857 | 42 |
| 9 | 2 π k / 10 2 \pi k/10 2πk/10 | 0 ± π / 8 ± 2 π / 8 ± 3 π / 8 ± 4 π / 8 0\\\pm \pi/8\\\pm 2\pi/8\\\pm 3\pi/8\\\pm 4\pi/8 0±π/8±2π/8±3π/8±4π/8 | 62 / 315 = 0.1968254 ( 40 + 12 2 ) / 315 = 0.1808589 44 / 315 = 0.1396825 ( 40 − 12 2 ) / 315 = 0.0731093 1 / 126 = 0.0079365 62/315=0.196 825 4\\(40+12\sqrt{2})/315=0.180 8589\\44/315=0.139 6825\\(40-12\sqrt{2})/315=0.073 1093\\1/126=0.007 9365 62/315=0.1968254(40+122)/315=0.180858944/315=0.1396825(40−122)/315=0.07310931/126=0.0079365 | 72 |
| 11 | 2 π k / 12 2 \pi k/12 2πk/12 | 0 ± π / 10 ± 2 π / 10 ± 3 π / 10 ± 4 π / 10 ± 5 π / 10 0\\\pm \pi/10\\\pm 2\pi/10\\\pm 3\pi/10\\\pm 4\pi/10\\\pm 5\pi/10 0±π/10±2π/10±3π/10±4π/10±5π/10 | 302 / 1925 = 0.1568831 ( 420 + 44 5 ) / 3465 = 0.1496066 ( 1508 + 308 5 ) / 17325 = 0.1267942 ( 420 − 44 5 ) / 3465 = 0.0928176 ( 1508 − 308 5 ) / 17325 = 0.0472895 1 / 198 = 0.0050505 302/1925=0.156 8831\\(420+44\sqrt{5})/3465=0.149 6066\\(1508+308\sqrt{5})/17325=0.126 7942\\(420-44\sqrt{5})/3465=0.092 8176\\(1508-308\sqrt{5})/17325=0.047 2895\\1/198=0.005 0505 302/1925=0.1568831(420+445)/3465=0.1496066(1508+3085)/17325=0.1267942(420−445)/3465=0.0928176(1508−3085)/17325=0.04728951/198=0.0050505 | 101 |
| 13 | 2 π k / 14 2 \pi k/14 2πk/14 | 0 ± π / 12 ± 2 π / 12 ± 3 π / 12 ± 4 π / 12 ± 5 π / 12 ± 6 π / 12 0\\\pm \pi/12\\\pm 2\pi/12\\\pm 3\pi/12\\\pm 4\pi/12\\\pm 5\pi/12\\\pm 6\pi/12 0±π/12±2π/12±3π/12±4π/12±5π/12±6π/12 | 17702 / 135135 = 0.1309949 8 ( 1346 + 455 3 ) / 135135 = 0.1263378 568 / 5005 = 0.1134865 12484 / 135135 = 0.0923817 808 / 12285 = 0.0657713 8 ( 1346 − 455 3 ) / 135135 = 0.0330287 1 / 286 = 0.0034965 17702/135135=0.130 9949\\8(1346+455\sqrt{3})/135135=0.126 3378\\568/5005=0.113 4865\\12484/135135=0.092 3817\\808/12285=0.065 7713\\8(1346 - 455\sqrt{3})/135135=0.033 0287\\1/286=0.003 4965 17702/135135=0.13099498(1346+4553)/135135=0.1263378568/5005=0.113486512484/135135=0.0923817808/12285=0.06577138(1346−4553)/135135=0.03302871/286=0.0034965 | 145 |
备注:
- 上表中, 经度数=精度+1。
- 选择不同的经度数,实际权重(两个极点除外)需要除以经度数。例如:精度=3时,取经度数=4,两个极点权重保持不变(1/6), 其他的节点的权重 = 2 / 3 ÷ 4 = 1 / 6 =2/3 \div4=1/6 =2/3÷4=1/6, 这时节点刚好构成正八面体,且所有节点权重都相等。

高斯规则(平行同心圆)
| n | 特征多项式 F n ( x ) F_n(x) Fn(x) | 纬度w | 权重A | 经度 | 样本数 | 精度 |
|---|---|---|---|---|---|---|
| 1 | x x x | 0 ± π / 2 0\\\pm \pi/2 0±π/2 | 2 / 3 1 / 6 2/3\\1/6 2/31/6 | 2 k π / 4 2k\pi/4 2kπ/4 | 6 | 3 |
| 2 | ( 5 x 2 − 1 ) / 4 (5 x^2-1)/4 (5x2−1)/4 | ± 0.4636476090 = 26.56 5 ∘ ± π / 2 \pm0.463 647 6090=26.565^\circ\\\pm \pi/2 ±0.4636476090=26.565∘±π/2 | 5 / 12 1 / 12 5/12\\1/12 5/121/12 | 2 k π / 5 ∗ 2k\pi/5^* 2kπ/5∗ | 12 | 5 |
| 3 | ( 7 x 3 − 3 x ) / 4 (7 x^3 - 3 x)/4 (7x3−3x)/4 | 0 ± 0.7137243789 = 40.89 3 ∘ ± π / 2 0\\\pm0.713 724 3789=40.893^\circ\\\pm \pi/2 0±0.7137243789=40.893∘±π/2 | 16 / 45 49 / 180 1 / 20 16/45\\49/180\\1/20 16/4549/1801/20 | 2 k π / 8 2k\pi/8 2kπ/8 | 26 | 7 |
| 4 | ( 21 x 4 − 14 x 2 + 1 ) / 8 (21 x^4 - 14 x^2 + 1)/8 (21x4−14x2+1)/8 | ± 0.2892479703 = 16.57 3 ∘ ± 0.8711272375 = 49.91 2 ∘ ± π / 2 \pm0.289 247 9703=16.573^\circ\\\pm0.871 127 237 5=49.912^\circ\\\pm\pi/2 ±0.2892479703=16.573∘±0.8711272375=49.912∘±π/2 | 0.2774291885 0.1892374781 1 / 30 = 0.0333333333 0.277 429 1885\\0.189 237 4781\\1/30=0.033 333 3333 0.27742918850.18923747811/30=0.0333333333 | 2 k π / 9 ∗ 2k\pi/9^* 2kπ/9∗ | 38 | 9 |
| 5 | ( 33 x 5 − 30 x 3 + 5 x ) / 8 (33 x^5 - 30 x^3 + 5 x)/8 (33x5−30x3+5x)/8 | 0 ± 0.4879869928 = 27.96 0 ∘ ± 0.9795092224 = 56.12 2 ∘ ± π / 2 0\\\pm0.487 986 992 8=27.960^\circ\\\pm0.979 509 222 4=56.122^\circ\\\pm \pi/2 0±0.4879869928=27.960∘±0.9795092224=56.122∘±π/2 | 128 / 525 = 0.2438095238 0.2158726906 0.1384130237 1 / 42 = 0.0238095238 128/525=0.243 809 523 8\\0.215 872 6906\\0.138 413 023 7\\1/42=0.023 809 5238 128/525=0.24380952380.21587269060.13841302371/42=0.0238095238 | 2 k π / 12 2k\pi/12 2kπ/12 | 62 | 11 |
| 6 | ( 429 x 6 − 495 x 4 + 135 x 2 − 5 ) / 64 (429 x^6 - 495 x^4 + 135 x^2 - 5)/64 (429x6−495x4+135x2−5)/64 | ± 0.2108582499 = 12.08 1 ∘ ± 0.6331662051 = 36.27 8 ∘ ± 1.0587427294 = 60.66 1 ∘ ± π / 2 \pm0.210 858 2499=12.081^\circ\\\pm0.633 166 2051=36.278^\circ\\\pm1.058 742 7294=60.661^\circ\\\pm\pi/2 ±0.2108582499=12.081∘±0.6331662051=36.278∘±1.0587427294=60.661∘±π/2 | 0.2062293973 0.1705613462 0.1053521136 1 / 56 = 0.01785714286 0.206 229 3973\\0.170 561 346 2\\0.105 352 1136\\1/56=0.017 857 14286 0.20622939730.17056134620.10535211361/56=0.01785714286 | 2 k π / 1 3 ∗ 2k\pi/13^* 2kπ/13∗ | 80 | 13 |
| 7 | ( 715 x 7 − 1001 x 5 + 385 x 3 − 35 x ) / 64 (715 x^7 - 1001 x^5 + 385 x^3 - 35 x)/64 (715x7−1001x5+385x3−35x)/64 | 0 ± 0.3716115607 = 21.29 2 ∘ ± 0.7439319041 = 42.62 4 ∘ ± 1.1192146362 = 64.12 6 ∘ ± π / 2 0\\\pm0.371 611 560 7=21.292^\circ\\\pm0.743 931 9041=42.624^\circ\\\pm1.119 214 6362=64.126^\circ\\\pm \pi/2 0±0.3716115607=21.292∘±0.7439319041=42.624∘±1.1192146362=64.126∘±π/2 | 2048 / 11025 = 0.1857596372 0.1732142555 0.1372693563 0.0827476808 1 / 72 = 0.0138888889 2048/11025=0.185 759 6372\\0.173 214 2555\\0.137 269 3563\\0.082 747 6808\\1/72=0.013 888 8889 2048/11025=0.18575963720.17321425550.13726935630.08274768081/72=0.0138888889 | 2 k π / 16 2k\pi/16 2kπ/16 | 114 | 15 |
| 8 | ( 2431 x 8 − 4004 x 6 + 2002 x 4 − 308 x 2 + 7 ) / 128 (2431 x^8 - 4004 x^6 + 2002 x^4 - 308 x^2 + 7)/128 (2431x8−4004x6+2002x4−308x2+7)/128 | ± 0.1660408523 = 9.51 3 ∘ ± 0.4982908852 = 28.55 0 ∘ ± 0.8312492225 = 47.62 7 ∘ ± 1.1668928829 = 66.85 8 ∘ ± π / 2 \pm0.166 040 8523=9.513^\circ\\\pm0.498 290 8852=28.550^\circ\\\pm0.831 249 2225=47.627^\circ\\\pm1.166 892 8829=66.858^\circ\\\pm\pi/2 ±0.1660408523=9.513∘±0.4982908852=28.550∘±0.8312492225=47.627∘±1.1668928829=66.858∘±π/2 | 0.1637698806 0.1460213418 0.1124446710 0.0666529954 1 / 90 = 0.0111111111 0.163 769 8806\\0.146 021 3418\\0.112 444 6710\\0.066 652 9954\\1/90=0.011 111 1111 0.16376988060.14602134180.11244467100.06665299541/90=0.0111111111 | 2 k π / 1 7 ∗ 2k\pi/17^* 2kπ/17∗ | 138 | 17 |
| 9 | ( 4199 x 9 − 7956 x 7 + 4914 x 5 − 1092 x 3 + 63 x ) / 128 (4199 x^9 - 7956 x^7 + 4914 x^5 - 1092 x^3 + 63 x)/128 (4199x9−7956x7+4914x5−1092x3+63x)/128 | 0 ± 0.3002490621 = 17.20 3 ∘ ± 0.6007184949 = 34.41 9 ∘ ± 0.9018627818 = 51.67 3 ∘ ± 1.2054537685 = 69.06 7 ∘ ± π / 2 0\\\pm0.300 249 0621=17.203^\circ\\\pm0.600 718 4949=34.419^\circ\\\pm0.901 862 7818=51.673^\circ\\\pm1.205 453 7685=69.067^\circ\\\pm \pi/2 0±0.3002490621=17.203∘±0.6007184949=34.419∘±0.9018627818=51.673∘±1.2054537685=69.067∘±π/2 | 32768 / 218295 = 0.1501087977 0.1434395624 0.1240240521 0.0935849409 0.0548061366 1 / 110 = 0.0090909091 32768/218295=0.150 108 797 7\\0.143 439 5624\\0.124 024 0521\\0.093 584 9409\\0.054 806 1366\\1/110=0.009 090 9091 32768/218295=0.15010879770.14343956240.12402405210.09358494090.05480613661/110=0.0090909091 | 2 k π / 20 2k\pi/20 2kπ/20 | 182 | 19 |
备注:
- 纬度值w为方程 F ( sin ( w ) ) = 0 F(\sin(w))=0 F(sin(w))=0 的解,例如 5 sin 2 ( 26.56 5 ∘ ) − 1 = 0 5 \sin^2(26.565^\circ)-1=0 5sin2(26.565∘)−1=0
- 经度数j至少为精度p。如果 p = 4 Z + 1 p=4Z+1 p=4Z+1,那么可以使经度数 j = p − 1 j=p-1 j=p−1,此时要求当纬度值为正时,取经度 2 k π / j 2k\pi/j 2kπ/j,为负时取经度 ( 2 k + 1 ) π / j (2k+1)\pi/j (2k+1)π/j
- 上述表格中,精度3对应正八面体,精度5对应正二十面体。
- A n ( x ) = 4 ( n + 1 ) ( n + 2 ) [ ( x 2 − 1 ) F n ′ ( x ) ] 2 , A n ( ± 1 ) = 1 ( n + 1 ) ( n + 2 ) A_n(x)=\frac{4}{(n+1)(n+2)[(x^2-1)F'_n(x)]^2},A_n(\pm 1)=\frac{1}{(n+1)(n+2)} An(x)=(n+1)(n+2)[(x2−1)Fn′(x)]24,An(±1)=(n+1)(n+2)1
- ∫ − 1 1 ( 1 − x 2 ) F k ( x ) F n ( x ) d x = 0 , ( k ≠ n ) \int_{-1}^1 (1-x^2)F_k(x)F_n(x) dx = 0,(k \ne n) ∫−11(1−x2)Fk(x)Fn(x)dx=0,(k=n)
- ∫ − 1 1 ( 1 − x 2 ) F n ( x ) 2 d x = 32 ( 2 n + 2 ) ( 2 n + 3 ) ( 2 n + 4 ) \int_{-1}^1 (1-x^2)F_n(x)^2 dx = \frac{32}{(2n+2)(2n+3)(2n+4)} ∫−11(1−x2)Fn(x)2dx=(2n+2)(2n+3)(2n+4)32
- 这里强制带上了2个极点,如果不带极点,那结论会和 高斯-勒让德 规则一样,但样本数要多于带极点情况,因此不做讨论。

正多面体规则
如果按正多面体的顶点来采样,因对称性,每个顶点的权重都相等。
| 正四面体 | 正八面体 | 正方体 | 正二十面体 | 正十二面体 | 截角正八面体 | |
|---|---|---|---|---|---|---|
| 顶点数 | 4 | 6 | 8 | 12 | 20 | 48 |
| 精度 | 2 | 3 | 3 | 5 | 5 | 7 |
备注:
- 正多面体只有5种,无法扩展,无法得到更高精度的公式。
- 表中的截角正八面体,顶点为 p e r m ( ± 0.2666354015 , ± 0.4225186538 , ± 0.8662468181 ) perm(\pm 0.266 635 401 5, \pm 0.422 518 653 8, \pm 0.866 246 8181) perm(±0.2666354015,±0.4225186538,±0.8662468181) (perm表示对参数全排列),这些分量都为方程 105 x 6 − 105 x 4 + 21 x 2 − 1 = 0 105x^6 - 105x^4+ 21x^2 - 1=0 105x6−105x4+21x2−1=0的根。
Lebedev 规则
此规则由 Vyacheslav Lebedev 提出,具体可以查看以下文献:
Quadrature Cubed Sphere
sphere_lebedev_rule
| 精度 | 样本数 | 子样本数 | 坐标 | 权重 |
|---|---|---|---|---|
| 3 | 6 | 6 | 0 , 0 , 1 0,0,1 0,0,1 | 1 / 6 = 0.166666667 1/6=0.166 666 667 1/6=0.166666667 |
| 5 | 14 | 6 8 6\\8 68 | 0 , 0 , 1 0.577350269 , 0.577350269 , 0.577350269 0,0,1\\0.577350269,0.577350269,0.577350269 0,0,10.577350269,0.577350269,0.577350269 | 1 / 15 = 0.066666667 3 / 40 = 0.075 1/15=0.066 666 667\\3/40=0.075 1/15=0.0666666673/40=0.075 |
| 7 | 26 | 6 8 12 6\\8\\12 6812 | 0 , 0 , 1 0.577350269 , 0.577350269 , 0.577350269 0 , 0.707106781 , 0.707106781 0,0,1\\0.577350269,0.577350269,0.577350269\\0,0.707106781,0.707106781 0,0,10.577350269,0.577350269,0.5773502690,0.707106781,0.707106781 | 1 / 21 = 0.047619048 4 / 105 = 0.038095238 9 / 280 = 0.032142857 1/21=0.047 619 048\\4/105=0.038 095 238\\9/280=0.032 142 857 1/21=0.0476190484/105=0.0380952389/280=0.032142857 |
| 9 | 38 | 6 8 24 6\\8\\24 6824 | 0 , 0 , 1 0.577350269 , 0.577350269 , 0.577350269 0 , 0.459700843 , 0.888073834 0,0,1\\0.577350269,0.577350269,0.577350269\\0,0.459700843,0.888073834 0,0,10.577350269,0.577350269,0.5773502690,0.459700843,0.888073834 | 1 / 105 = 0.009523810 9 / 280 = 0.032142857 1 / 35 = 0.028571429 1/105=0.009 523 810\\9/280=0.032 142 857\\1/35=0.028 571 429 1/105=0.0095238109/280=0.0321428571/35=0.028571429 |
| 11 | 50 | 6 8 12 24 6\\8\\12\\24 681224 | 0 , 0 , 1 0.577350269 , 0.577350269 , 0.577350269 0 , 0.707106781 , 0.707106781 0.301511345 , 0.301511345 , 0.904534034 0,0,1\\0.577350269,0.577350269,0.577350269\\0,0.707106781,0.707106781\\0.301511345 ,0.301511345,0.904534034 0,0,10.577350269,0.577350269,0.5773502690,0.707106781,0.7071067810.301511345,0.301511345,0.904534034 | 8 / 630 = 0.012698413 27 / 1280 = 0.021093750 64 / 2835 = 0.022574956 14641 / 725760 = 0.020173336 8/630=0.012698413\\27/1280=0.021093750\\64/2835=0.022574956\\14641/725760=0.020173336 8/630=0.01269841327/1280=0.02109375064/2835=0.02257495614641/725760=0.020173336 |
| 13 | 74 | 6 8 12 24 24 6\\8\\12\\24\\24 68122424 | 0 , 0 , 1 0.577350269 , 0.577350269 , 0.577350269 0 , 0.707106781 , 0.707106781 0.480384461 , 0.480384461 , 0.733799386 0 , 0.320772649 , 0.947156221 0,0,1\\0.577350269,0.577350269,0.577350269\\0,0.707106781,0.707106781\\0.480384461 ,0.480384461,0.733799386\\0, 0.320772649, 0.947156221 0,0,10.577350269,0.577350269,0.5773502690,0.707106781,0.7071067810.480384461,0.480384461,0.7337993860,0.320772649,0.947156221 | 0.00051306718 − 0.02958603896 0.01660406957 0.02657620708 0.01652217099 0.000 513 06718\\-0.029 586 03896\\0.016 604 06957\\0.026 576 20708\\0.016 522 17099 0.00051306718−0.029586038960.016604069570.026576207080.01652217099 |
| 15 | 86 | 6 8 24 24 24 6\\8\\24\\24\\24 68242424 | 0 , 0 , 1 0.577350269 , 0.577350269 , 0.577350269 0.369602846 , 0.369602846 , 0.852518312 0.694354007 , 0.694354007 , 0.189063553 0 , 0.374243039 , 0.927330657 0,0,1\\0.577350269,0.577350269,0.577350269\\0.369602846,0.369602846,0.852518312\\0.694354007,0.694354007,0.189063553\\0,0.374243039,0.927330657 0,0,10.577350269,0.577350269,0.5773502690.369602846,0.369602846,0.8525183120.694354007,0.694354007,0.1890635530,0.374243039,0.927330657 | 0.01154401154 0.01194390909 0.01111055571 0.01187650129 0.01181230375 0.011 544 011 54\\0.011 943 909 09\\0.011 110 55571\\0.011 876 50129\\0.011 812 30375 0.011544011540.011943909090.011110555710.011876501290.01181230375 |
备注:
- 对所有精度: 0.577350269 = 1 / 3 , 0.707106781 = 1 / 2 0.577350269=\sqrt{1/3},0.707106781=\sqrt{1/2} 0.577350269=1/3,0.707106781=1/2
- 精度9: 0.459700843 , 0.888073834 = ( 3 ∓ 3 ) / 6 0.459700843,0.888073834=\sqrt{(3\mp\sqrt{3})/6} 0.459700843,0.888073834=(3∓3)/6
- 精度11: 0.301511345 = 1 / 11 , 0.904534034 = 3 / 11 0.301511345=\sqrt{1/11},0.904534034=\sqrt{3/11} 0.301511345=1/11,0.904534034=3/11
- 精度13:
0.480384461
=
3
/
13
,
0.733799386
=
7
/
13
0.480384461=\sqrt{3/13},0.733799386=\sqrt{7/13}
0.480384461=3/13,0.733799386=7/13
0.320772649 , 0.947156221 = ( 65 ∓ 2665 ) / 130 0.320772649,0.947156221=\sqrt{(65 \mp \sqrt{2665}) / 130} 0.320772649,0.947156221=(65∓2665)/130 - 精度15: 0.374243039 , 0.927330657 = ( 39 ∓ 78 13 + 507 ) / 78 0.374243039,0.927330657=\sqrt{(39\mp\sqrt{78\sqrt{13} + 507})/78} 0.374243039,0.927330657=(39∓7813+507)/78

与前面的其他积分规则相比, Lebedev 规则在同等精度下(除了精度5),所需要的样本数都是最少的。这也是后面球内积分首选的球内积分规则。
球内积分
I
3
(
R
)
=
∭
D
f
(
x
,
y
,
z
)
d
V
=
V
D
∑
i
=
1
n
A
i
∯
(
r
i
R
)
I_3(R)=\iiint_D f(x,y,z)dV=V_D\sum_{i=1}^n A_i \oiint(r_i R)
I3(R)=∭Df(x,y,z)dV=VDi=1∑nAi∬(riR)
其中积分区域D为半径为R的球,其体积记为
V
D
V_D
VD(实际上为
4
π
R
3
/
3
4\pi R^3/3
4πR3/3)
∯
(
R
)
\oiint(R)
∬(R)表示区域为半径R的球面的积分,可以用与
I
3
(
R
)
I_3(R)
I3(R)精度相同的数值积分值作为代替。根据上述结论,可以用Lebedev 规则来计算球面积分。
牛顿-柯斯特规则
| 层数 | 精度 | r | A | 采样数 |
|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 1 |
| 2 | 3 | 0 1 0\\1 01 | 2 / 5 3 / 5 2/5\\3/5 2/53/5 | 7 |
| 3 | 5 | 0 1 / 2 1 0\\1/2\\1 01/21 | − 2 / 7 32 / 35 13 / 35 -2/7\\32/35\\13/35 −2/732/3513/35 | 25 |
| 4 | 7 | 0 1 / 3 2 / 3 1 0\\1/3\\2/3\\1 01/32/31 | 2 / 5 − 81 / 140 162 / 175 177 / 700 2/5\\-81/140\\162/175\\177/700 2/5−81/140162/175177/700 | 79 |
| 5 | 9 | 0 1 / 4 2 / 4 3 / 4 1 0\\1/4\\2/4\\3/4\\1 01/42/43/41 | − 74 / 99 69376 / 51975 − 33632 / 51975 15104 / 17325 9769 / 51975 -74/99\\69376/51975\\-33632/51975\\15104/17325\\9769/51975 −74/9969376/51975−33632/5197515104/173259769/51975 | 153 |
| 6 | 11 | 0 1 / 5 2 / 5 3 / 5 4 / 5 1 0\\1/5\\2/5\\3/5\\4/5\\1 01/52/53/54/51 | 26927 / 16380 − 614975 / 216216 126275 / 63063 − 769025 / 1009008 1843925 / 2270268 6718091 / 45405360 26927/16380\\-614975/216216\\126275/63063\\-769025/1009008\\1843925/2270268\\6718091/45405360 26927/16380−614975/216216126275/63063−769025/10090081843925/22702686718091/45405360 | 251 |
高斯规则
| n | 特征多项式 F n ( r ) F_n(r) Fn(r) | r i r_i ri | A i A_i Ai | 精度 | 最少采样数 |
|---|---|---|---|---|---|
| 1 | r r r | 0 | 1 | 1 | 1 |
| 2 | ( 5 r 2 − 3 ) / 2 (5 r^2-3)/2 (5r2−3)/2 | 0.7745966692 0.774 596 669 2 0.7745966692 | 1 | 3 | 6 |
| 3 | ( 7 r 3 − 5 r ) / 2 (7 r^3-5r)/2 (7r3−5r)/2 | 0 0.8451542547 0\\0.845 154 254 7 00.8451542547 | 4 / 25 = 0.16 21 / 25 = 0.84 4/25=0.16\\21/25=0.84 4/25=0.1621/25=0.84 | 5 | 13 |
| 4 | ( 63 r 4 − 70 r 2 + 15 ) / 8 (63 r^4-70 r^2+15)/8 (63r4−70r2+15)/8 | 0.5384693101 0.9061798459 0.538 469 310 1\\0.906 179 845 9 0.53846931010.9061798459 | 0.4163339973 0.5836660027 0.416 333 997 3\\0.583 666 002 7 0.41633399730.5836660027 | 7 | 52 |
| 5 | ( 99 r 5 − 126 r 3 + 35 r ) / 8 (99 r^5 - 126 r^3 + 35 r)/8 (99r5−126r3+35r)/8 | 0 0.6399972828 0.9290483038 0\\0.639 997 282 8\\0.929 048 303 8 00.63999728280.9290483038 | 64 / 1225 = 0.0522448980 0.4807499830 0.4670051191 64/1225=0.052 244 898 0\\0.480 749 983 0\\0.467 005 119 1 64/1225=0.05224489800.48074998300.4670051191 | 9 | 77 |
| 6 | ( 429 r 6 − 693 r 4 + 315 r 2 − 35 ) / 16 (429 r^6-693 r^4+315 r^2-35)/16 (429r6−693r4+315r2−35)/16 | 0.4058451514 0.7415311856 0.9491079123 0.405 845 151 4\\0.741 531 185 6\\0.949 107 912 3 0.40584515140.74153118560.9491079123 | 0.1886740115 0.4614035515 0.3499224370 0.188 674 011 5\\0.461 403 551 5\\0.349 922 437 0 0.18867401150.46140355150.3499224370 | 11 | 150 |
| 7 | ( 715 r 7 − 1287 r 5 + 693 r 3 − 105 r ) / 16 (715 r^7-1287 r^5 + 693 r^3-105 r)/16 (715r7−1287r5+693r3−105r)/16 | 0 0.5056316101 0.7901728521 0.9591472977 0\\0.505 631 610 1\\0.790 172 852 1\\0.959 147 297 7 00.50563161010.79017285210.9591472977 | 256 / 11025 = 0.0232199546 0.2573443778 0.4318411585 0.2875945090 256/11025=0.023 219 954 6\\0.257 344 377 8\\0.431 841 158 5\\0.287 594 509 0 256/11025=0.02321995460.25734437780.43184115850.2875945090 | 13 | 223 |
| 8 | ( 12155 r 8 − 25740 r 6 + 18018 r 4 − 4620 r 2 + 315 ) / 128 (12155 r^8-25740 r^6+18018 r^4-4620 r^2+315)/128 (12155r8−25740r6+18018r4−4620r2+315)/128 | 0.3242534234 0.6133714327 0.8360311073 0.9681602395 0.324 253 423 4\\0.613 371 432 7\\0.836 031 107 3\\0.968 160 239 5 0.32425342340.61337143270.83603110730.9681602395 | 0.0985207798 0.2941443981 0.3787910186 0.2285438034 0.098 520 779 8\\0.294 144 398 1\\0.378 791 018 6\\0.228 543 803 4 0.09852077980.29414439810.37879101860.2285438034 | 15 | 344 |
这里有:
- A n ( x ) = 6 ( 1 − x 2 ) F n ′ ( x ) 2 A_n(x)=\frac{6}{(1-x^2)F'_n(x)^2} An(x)=(1−x2)Fn′(x)26
- ∫ 0 1 x 2 F n ( x ) F n + 2 k ( x ) d x = 0 , ( k ∈ Z , k ≠ 0 ) \int_0^1 x^2 F_n(x) F_{n+2k}(x) dx=0,(k\in Z,k\ne 0) ∫01x2Fn(x)Fn+2k(x)dx=0,(k∈Z,k=0)
- ∫ 0 1 x 2 F n ( x ) 2 d x = 1 2 n + 3 \int_0^1 x^2 F_n(x)^2 dx=\frac{1}{2n+3} ∫01x2Fn(x)2dx=2n+31
附录:相关定积分公式
单位圆周
记
I
Ω
(
p
,
q
)
=
∬
Ω
x
p
y
q
d
s
I_Ω(p,q)=\iint_\Omega x^py^q ds
IΩ(p,q)=∬Ωxpyqds,
Ω
\Omega
Ω是单位圆周。有:
I
Ω
(
p
,
q
)
=
I
Ω
(
q
,
p
)
I
Ω
(
p
,
q
)
=
p
−
1
p
+
q
I
Ω
(
p
−
2
,
q
)
,
p
≥
2
I
Ω
(
0
,
0
)
=
2
π
I_Ω(p,q)=I_Ω(q,p)\\ I_Ω(p,q)=\frac{p-1}{p+q}I_Ω(p-2,q),p\ge 2\\ I_Ω(0,0)=2\pi
IΩ(p,q)=IΩ(q,p)IΩ(p,q)=p+qp−1IΩ(p−2,q),p≥2IΩ(0,0)=2π
如果
p
,
q
p,q
p,q 存在奇数,则
I
Ω
(
p
,
q
)
=
0
I_Ω(p,q)=0
IΩ(p,q)=0
单位球面
记
I
Ω
(
p
,
q
,
r
)
=
∬
Ω
x
p
y
q
z
r
d
S
I_Ω(p,q,r)=\iint_\Omega x^py^qz^r dS
IΩ(p,q,r)=∬ΩxpyqzrdS,
Ω
\Omega
Ω是单位球面。有:
I
Ω
(
p
,
q
,
r
)
=
I
Ω
(
q
,
p
,
r
)
=
I
Ω
(
p
,
r
,
q
)
I
Ω
(
p
,
q
,
r
)
=
p
−
1
p
+
q
+
r
+
1
I
Ω
(
p
−
2
,
q
,
r
)
,
p
≥
2
I
Ω
(
0
,
0
,
0
)
=
4
π
I_Ω(p,q,r)=I_Ω(q,p,r)=I_Ω(p,r,q)\\ I_Ω(p,q,r)=\frac{p-1}{p+q+r+1}I_Ω(p-2,q,r),p\ge 2\\ I_Ω(0,0,0)=4\pi
IΩ(p,q,r)=IΩ(q,p,r)=IΩ(p,r,q)IΩ(p,q,r)=p+q+r+1p−1IΩ(p−2,q,r),p≥2IΩ(0,0,0)=4π
如果
p
,
q
,
r
p,q,r
p,q,r 存在奇数,则
I
Ω
(
p
,
q
,
r
)
=
0
I_Ω(p,q,r)=0
IΩ(p,q,r)=0
单位圆
记
I
⊙
(
p
,
q
)
=
∬
⊙
x
p
y
q
d
S
I_\odot (p,q)=\iint_\odot x^py^q dS
I⊙(p,q)=∬⊙xpyqdS,
⊙
\odot
⊙是单位圆。有:
I
⊙
(
p
,
q
)
=
I
⊙
(
q
,
p
)
I
⊙
(
p
,
q
)
=
p
−
1
p
+
q
+
2
I
Ω
(
p
−
2
,
q
)
,
p
≥
2
I
⊙
(
0
,
0
)
=
π
I_\odot(p,q)=I_\odot(q,p)\\ I_\odot(p,q)=\frac{p-1}{p+q+2}I_Ω(p-2,q),p \ge 2\\ I_\odot(0,0)=\pi
I⊙(p,q)=I⊙(q,p)I⊙(p,q)=p+q+2p−1IΩ(p−2,q),p≥2I⊙(0,0)=π
如果
p
,
q
p,q
p,q 存在奇数,则
I
⊙
(
p
,
q
)
=
0
I_\odot(p,q)=0
I⊙(p,q)=0
单位球
记
I
⊙
(
p
,
q
,
r
)
=
∭
⊙
x
p
y
q
z
r
d
V
I_\odot (p,q,r)=\iiint_\odot x^py^qz^r dV
I⊙(p,q,r)=∭⊙xpyqzrdV,
⊙
\odot
⊙是单位球。有:
I
⊙
(
p
,
q
,
r
)
=
I
⊙
(
q
,
p
,
r
)
=
I
⊙
(
p
,
r
,
q
)
I_\odot (p,q,r)=I_\odot(q,p,r)=I_\odot(p,r,q)
I⊙(p,q,r)=I⊙(q,p,r)=I⊙(p,r,q)
I
⊙
(
p
,
q
,
r
)
=
p
−
1
p
+
q
+
r
+
3
I
⊙
(
p
−
2
,
q
,
r
)
,
p
≥
2
I_\odot(p,q,r)=\frac{p-1}{p+q+r+3}I_\odot(p-2,q,r),p \ge 2
I⊙(p,q,r)=p+q+r+3p−1I⊙(p−2,q,r),p≥2
I
⊙
(
0
,
0
,
0
)
=
4
π
/
3
I_\odot(0,0,0)=4\pi/3
I⊙(0,0,0)=4π/3
如果
p
,
q
,
r
p,q,r
p,q,r 存在奇数,则
I
⊙
(
p
,
q
,
r
)
=
0
I_\odot(p,q,r)=0
I⊙(p,q,r)=0
相关Python代码如下:
import sympy
# 圆周
def integrate_circle(p, q):
if p % 2 == 1 or q % 2 == 1:
return 0
if p == 0:
if q == 0:
return sympy.pi*2
return integrate_circle(q, 0)
return integrate_circle(p-2, q)*(p-1)/(p+q)
# 球面
def integrate_sphere_face(p, q, r):
if p % 2 == 1 or q % 2 == 1 or r % 2 == 1:
return 0
if p == 0:
if q == 0 and r == 0:
return sympy.pi*4
return integrate_sphere_face(q, r, 0)
return integrate_sphere_face(p-2, q, r)*(p-1)/(p+q+r+1)
# 圆内
def integrate_disk(p, q):
if p % 2 == 1 or q % 2 == 1:
return 0
if p == 0:
if q == 0:
return sympy.pi
return integrate_disk(q, 0)
return integrate_disk(p-2, q)*(p-1)/(p+q+2)
# 球内
def integrate_sphere(p, q, r):
if p % 2 == 1 or q % 2 == 1 or r % 2 == 1:
return 0
if p == 0:
if q == 0 and r == 0:
return sympy.pi*4/3
return integrate_sphere(q, r, 0)
return integrate_sphere(p-2, q, r)*(p-1)/(p+q+r+3)
1042

被折叠的 条评论
为什么被折叠?



