Appendix B Trigonometry(附录B 三角函数)
“Life is good for only two things, discovering mathematics and teaching mathematics.”
-Simeon Poisson
附录B部分的内容旨在作为一些简单的三角函数定理的参考,同时还包含一些更复杂的定理公式。三角函数定理是计算机图形学中特别重要的工具函数。其中一个非常实用的功能是三角函数提供了简化公式的方法,从而提高计算的速度。
B.1 Definitions(定义)
图B.1 左图中显示了三角函数
sin,cos,tan
的几何定义表示。右图中显示了
px=cosϕ
和
py=sinϕ
共同描绘出的循环周期。
如图B.1所示,其中
p=(px,py)
是一个单位向量,即
∥p∥=1
,公式B.1中定义了基本的三角函数,
sin,cos,tan
。
如公式B.2所示, sin,cos,tan 函数可以扩展成MacLaurin series(麦克劳林级数)。麦克劳林级数是更通用的Taylor serices(泰勒级数)的一种特殊情况。泰勒级数是对一个任意的点进行扩展,而麦克劳林级数则是只针对 x=0 的点进行扩展。
麦克劳林级数是非常有用的,因为该公式阐明了导数的一些来源(如公式B.4所示)。
在前两个级数中 ϕ 的取值范围为 −∞<ϕ<∞ ,而最后一个级数中则为 −π/2<ϕ<π/2 ,并且 Bn 表示第 n 个Bernoulli number(伯努利数)。
注:伯努利数可以使用一种递推公式生成,比如令
B0=1 ,对于 k>1 ,有 ∑k−1j=0(kj)Bj=0这三个基本三角函数的反函数分别为, arcsin,arccos,arctan ,定义如公式B.3所示:
Inverses of trigonometric functions(基本三角函数的反函数):py=sinϕ⇔ϕ=arcsinpy,−1≤py≤1,−π2≤ϕ≤π2px=cosϕ⇔ϕ=arccospx,−1≤px≤1,0≤ϕ≤πpypx=tanϕ⇔ϕ=arctanpypx,−∞≤pypx≤∞,−π2≤ϕ≤π2(B.3)基本三角函数和反函数的导数总结如下:
Trigonometric derivatives(三角函数的导数):dsinϕdϕ=cosϕdcosϕdϕ=−sinϕdtanϕdϕ=1cos2ϕ=1+tan2ϕdarcsintdt=11−t2−−−−−√darccostdt=−11−t2−−−−−√darctantdt=11+t2(B.4)B.2 Trigonometric Laws and Formulae
图B.2 直角三角形及相关的记号表示我们首先讨论直角三角形的基本定理。使用图B.2所示的记号,可以使用以下公式描述这些定理:
Right triangle laws(直角三角形定理):sinα=accosα=bctanα=sinαcosα=ab(B.5)
Pythagorean relation(勾股定理):c2=a2+b2(B.6)
图B.3 任意三角形及相关的记号表示以下的著名定理对于任意的三角形都是有效的,其中所使用的记号如图B.3所示:
Law of sines(正弦定理):Law of cosines(余弦定理):Law of tangents(正切定理):sinαa=sinβb=sinγcc2=a2+b2−2abcosγa+ba−b=tanα+β2tanα−β2(B.7)
此外,以下两个公式对任意的三角形也是有效的,这两个公式分别以发明者的姓名进行命名:
Newton's formula :Mollweide's formula :b+ca=cosβ−γ2sinα2b−ca=sinβ−γ2cosα2(B.8)
把三角函数的定义(公式B.1)与勾股定理(公式B.6)相结合可以得到以下的三角恒等式:
Trigonometric identity(三角恒等式):cos2ϕ+sin2ϕ=1(B.6)
接下来描述三角函数的倍角公式,使用这些公式可以简化计算,并使得公式的实现更加高效。二倍角公式如下所示:
Double angle relations(二倍角公式):sin2ϕ=2sinϕcosϕ=2tanϕ1+tan2ϕcos2ϕ=cos2ϕ−sin2ϕ=1−2sin2ϕ=2cos2ϕ−1=1−tan2ϕ1+tan2ϕtan2ϕ=2tanϕ1−tan2ϕ(B.10)
在些基础上做一些扩展可以得到三倍角公式,如下所示:
Multiple angle relations(多倍角公式):sin(nϕ)=2sin((n−1)ϕ)cosϕ−sin((n−2)ϕ)cos(nϕ)=2cos((n−1)ϕ)cosϕ−cos((n−2)ϕ)tan(nϕ)=tan((n−1)ϕ)+tanϕ1−tan((n−1)ϕ)tanϕ(B.11)
公式B.12和B.13列出了三角函数的和差定理,称为和差恒等式。
Angle sum relations(三角和公式):sin(ϕ+ρ)=sinϕcosρ+cosϕsinρcos(ϕ+ρ)=cosϕcosρ−sinϕsinρtan(ϕ+ρ)=tanϕ+tanρ1−tanϕtanρ(B.12)
Angle difference relations(三角差公式):sin(ϕ−ρ)=sinϕcosρ−cosϕsinρcos(ϕ−ρ)=cosϕcosρ+sinϕsinρtan(ϕ−ρ)=tanϕ−tanρ1+tanϕtanρ(B.13)
接下来是积化和差公式:
Product relations(积化和差公式):sinϕsinρ=12(cos(ϕ−ρ)−cos(ϕ+ρ))cosϕcosρ=12(cos(ϕ−ρ)+cos(ϕ+ρ))sinϕcosρ=12(sin(ϕ−ρ)+sin(ϕ+ρ))(B.14)
公式B.15和B.16分别为和差化积公式和半角公式。
Function sums and differences(和差化积公式):sinϕ+sinρ=2sinϕ+ρ2cosϕ−ρ2cosϕ+cosρ=2cosϕ+ρ2cosϕ−ρ2tanϕ+tanρ=sin(ϕ+ρ)cosϕcosρsinϕ−sinρ=2cosϕ+ρ2sinϕ−ρ2cosϕ−cosρ=−2sinϕ+ρ2sinϕ−ρ2tanϕ−tanρ=sin(ϕ−ρ)cosϕcosρ(B.15)
Half-angle relations(半角公式):sinϕ2=±1−cosϕ2−−−−−−−−√cosϕ2=±1+cosϕ2−−−−−−−−√tanϕ2=±1−cosϕ1+cosϕ−−−−−−−−√=1−cosϕsinϕ=sinϕ1+cosϕ(B.15)Further Reading and Resources
Graphics Gems一书中的第一章提供了计算机图形学中其他的非常实用的几何定理。在CRC Standard Mathematical Tables and Formulas第31版中包含了该附录中的所有定理公式,以及更多附录中没有提到的部分。